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 raghavgururajan joined #lisp 2020-01-15T23:09:11Z atgreen joined #lisp 2020-01-15T23:09:48Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-15T23:10:21Z rtra quit (Ping timeout: 272 seconds) 2020-01-15T23:10:29Z Codaraxis joined #lisp 2020-01-15T23:10:47Z jfb4 joined #lisp 2020-01-15T23:11:21Z orivej joined #lisp 2020-01-15T23:11:40Z rtra joined #lisp 2020-01-15T23:17:12Z klltkr joined #lisp 2020-01-15T23:19:32Z notzmv joined #lisp 2020-01-15T23:19:52Z notzmv is now known as Guest8494 2020-01-15T23:20:29Z decent-username quit (Ping timeout: 272 seconds) 2020-01-15T23:22:09Z wxie joined #lisp 2020-01-15T23:22:31Z Bike joined #lisp 2020-01-15T23:26:11Z jfb4 quit (Ping timeout: 272 seconds) 2020-01-15T23:26:35Z jfb4 joined #lisp 2020-01-15T23:27:44Z MonoBobo joined #lisp 2020-01-15T23:30:42Z phoe: Shinmera: yes, I need to update tpln with ACL. 2020-01-15T23:30:58Z phoe: galdor: LW will have it in the next release. ACL already has it. 2020-01-15T23:31:20Z gabc: what's tpln? 2020-01-15T23:31:25Z Xach: trivial pln 2020-01-15T23:31:26Z phoe: trivial-package-local-nicknames 2020-01-15T23:31:38Z gabc: Thanks :) 2020-01-15T23:31:42Z Xach: tarpaulin 2020-01-15T23:33:54Z Guest8494 is now known as notzmv 2020-01-15T23:34:07Z notzmv quit (Remote host closed the connection) 2020-01-15T23:34:29Z notzmv joined #lisp 2020-01-15T23:35:03Z rtra quit (Ping timeout: 272 seconds) 2020-01-15T23:37:13Z hiroaki quit (Ping timeout: 258 seconds) 2020-01-15T23:38:55Z rtra joined #lisp 2020-01-15T23:39:05Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-01-15T23:39:10Z vivit quit (Ping timeout: 268 seconds) 2020-01-15T23:40:13Z travv0` quit (Ping timeout: 260 seconds) 2020-01-15T23:41:27Z jfb4_ joined #lisp 2020-01-15T23:41:54Z hiroaki joined #lisp 2020-01-15T23:42:52Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-15T23:44:28Z rtra quit (Ping timeout: 245 seconds) 2020-01-15T23:46:02Z jfb4_ quit (Ping timeout: 258 seconds) 2020-01-15T23:47:48Z wxie quit (Ping timeout: 260 seconds) 2020-01-15T23:49:32Z jfb4 joined #lisp 2020-01-15T23:50:15Z tiwEllien quit (Ping timeout: 272 seconds) 2020-01-15T23:51:20Z rtra joined #lisp 2020-01-15T23:53:13Z holycow joined #lisp 2020-01-15T23:54:49Z jfb4_ joined #lisp 2020-01-15T23:55:25Z MonoBobo_ joined #lisp 2020-01-15T23:57:10Z MonoBobo quit (Ping timeout: 265 seconds) 2020-01-15T23:57:51Z jfb4 quit (Ping timeout: 272 seconds) 2020-01-15T23:58:45Z xuxuru quit (Quit: xuxuru) 2020-01-16T00:01:43Z ebrasca quit (Remote host closed the connection) 2020-01-16T00:04:00Z rtra quit (Ping timeout: 246 seconds) 2020-01-16T00:08:54Z rtra joined #lisp 2020-01-16T00:10:42Z atgreen quit (Ping timeout: 265 seconds) 2020-01-16T00:12:44Z aeth: beach: The problem with the lack of hierarchical packages leading to the foo/bar package name idiom as a convention to work around that isn't the same class of problem of "add it and then the language can't be compiled". It's more likely to be in the class of problem of something that probably didn't exist back in the early 1990s so no one even thought about it. 2020-01-16T00:13:19Z ghard quit (Read error: No route to host) 2020-01-16T00:14:32Z aeth: In 1995, I don't think large projects with hierarchical packages were a thing in many languages, even if possible. When I think about that, I think about Java (which is possibly the most rigid enforcing of this sort of thing, definitely not something to emulate) or Python (which definitely existed, but wasn't popular until the 2000s) 2020-01-16T00:15:02Z aeth: Both Java and Python afaik tie this sort of thing to the directory structure of the program, which is kind of a non-starter for CL. 2020-01-16T00:15:03Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-16T00:15:16Z jfb4 joined #lisp 2020-01-16T00:15:48Z lieven quit (Ping timeout: 252 seconds) 2020-01-16T00:16:59Z phoe: yeah, ASDF's bundle-op would give you a really weird look if you tried to do that same thing 2020-01-16T00:17:20Z phoe: (among other, more obvious things) 2020-01-16T00:18:19Z lispyone_ quit (Read error: Connection reset by peer) 2020-01-16T00:18:38Z kilimanjaro quit (Read error: Connection reset by peer) 2020-01-16T00:18:45Z mjl quit (Read error: Connection reset by peer) 2020-01-16T00:18:48Z banjiewen quit (Read error: Connection reset by peer) 2020-01-16T00:18:48Z Balooga quit (Read error: Connection reset by peer) 2020-01-16T00:18:48Z splittist quit (Read error: Connection reset by peer) 2020-01-16T00:19:33Z kilimanjaro joined #lisp 2020-01-16T00:19:36Z banjiewen joined #lisp 2020-01-16T00:19:54Z LdBeth: util 1999 most Common Lisp softwares are self contained 2020-01-16T00:19:56Z Balooga joined #lisp 2020-01-16T00:20:11Z lispyone_ joined #lisp 2020-01-16T00:20:13Z splittist joined #lisp 2020-01-16T00:20:13Z mjl joined #lisp 2020-01-16T00:20:46Z Kaisyu joined #lisp 2020-01-16T00:21:04Z aeth: And beyond that, the further back you go, I'd bet you'd observe that a CL project is more likely to be just all at the top level with one package, i.e. foo/*.lisp whose sole package is foo/package.lisp 2020-01-16T00:21:22Z CEnnis91 joined #lisp 2020-01-16T00:22:24Z Kaisyu quit (Client Quit) 2020-01-16T00:22:28Z teej joined #lisp 2020-01-16T00:22:34Z teej quit (Excess Flood) 2020-01-16T00:22:48Z LdBeth: and many just put things into lisp-user 2020-01-16T00:23:33Z LdBeth: before CLtL2 2020-01-16T00:23:36Z HiRE: What is the (:use :cl) used for defpackage? I mean, I would assume it means "use common lisp" but I find the notation funny since it's being written _in_ common lisp 2020-01-16T00:23:55Z teej joined #lisp 2020-01-16T00:24:05Z MonoBobo_ quit (Read error: Connection reset by peer) 2020-01-16T00:24:13Z aeth: e.g. the initial McCLIM git repo (probably converted from CVS/SVN/etc.) from as recent as 2000-06-08 didn't have subdirectories for the core *.lisp files: https://github.com/McCLIM/McCLIM/tree/3cb03ba6a0bfbd54e5076b20b627905d5517f043 2020-01-16T00:24:27Z aeth: It did have Backends/CLX and Examples and examples, however, because it's fairly huge 2020-01-16T00:24:36Z LdBeth: you could write a LISP1.5 top-level in Common Lisp 2020-01-16T00:24:36Z MonoBobo joined #lisp 2020-01-16T00:25:05Z aeth: I mean, oh wow, 1164 clim-package.lisp that's mostly just one giant defpackage. https://github.com/McCLIM/McCLIM/blob/3cb03ba6a0bfbd54e5076b20b627905d5517f043/clim-package.lisp 2020-01-16T00:25:07Z LdBeth: which has many function names behaves drastically different from CL's 2020-01-16T00:25:10Z aeth: s/1164/1164 line/ 2020-01-16T00:25:32Z LdBeth: in such a case a package shouldn't directly use #:common-lisp 2020-01-16T00:26:16Z aeth: So, I mean, 1990s CL is very stylistically different than 2010s CL, which is why you don't really see the need for hierarchical packages... just have one giant package.lisp contain everything with one giant defpackage > 1000-lines 2020-01-16T00:26:35Z jfb4_ joined #lisp 2020-01-16T00:27:05Z aeth: These days I'm guessing you'd want at least 10 packages with a top package that does something like uiop:define-package's use-reexport instead of having a giant 1000+ line defpackage. 2020-01-16T00:27:13Z Xach: reminds me of how one of the clisp maintainers complained that quicklisp cluttered up the system by adding too many packages. 2020-01-16T00:27:17Z LdBeth: aeth: yes. It is more common to see 1 function per file today 2020-01-16T00:27:27Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-16T00:28:09Z g0d_shatter joined #lisp 2020-01-16T00:28:47Z epony quit (Quit: upgrades) 2020-01-16T00:29:11Z aeth: Xach: It is a fairly valid complaint, however it's worse to have a 1000-line DEFPACKAGE. Hierarchical packages means you get the best of both, needing to only expose one or a few top-level packages while still being able to, well, read any given DEFPACKAGE. 2020-01-16T00:29:38Z vivit joined #lisp 2020-01-16T00:29:44Z pjb: HiRE: you don't necessarily write Common Lisp code to run on a Common Lisp implementation! 2020-01-16T00:29:45Z aeth: ASDF these days sort of strongly encourages a multi-package design to be FOO/BAR which is just a hack to only somewhat polute the package namespace, in a way that's very unlikely to collide 2020-01-16T00:30:00Z pjb: HiRE: This is the point of COMMON Lisp: to be able to run several different lisps! 2020-01-16T00:30:13Z HiRE: pjb, oh I see. That is the dialect indicator 2020-01-16T00:30:17Z MonoBobo quit (Read error: Connection reset by peer) 2020-01-16T00:30:21Z rwcom4 joined #lisp 2020-01-16T00:30:28Z pjb: HiRE: so for example, when you write a CLIM application, you don't use CL, you use CLIM instead. You don't get the same defclass and defmethod macros amongst other changes. 2020-01-16T00:30:57Z HiRE: Interesting. That's good to know. It was sort of given matter-of-factly in PCL so I was curious 2020-01-16T00:31:11Z pjb: HiRE: or you can run LISP 1.5 code from 1962: http://informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/wang.html 2020-01-16T00:31:18Z aeth: A clever specification of hierarchical packages could probably define it in a way that's compatible both with unmodified CL implementations and extended ones, but then it would assign semantic meaning to / in the name of a packags. 2020-01-16T00:31:36Z HiRE: > Rendez-vous in 28 years to see how you can run a 1996 perl program in perl 2042... 2020-01-16T00:31:39Z HiRE: shots fired 2020-01-16T00:31:57Z pjb: HiRE: this is why any criticism of Common Lisp is usually untimely, since you can just define your own lisp package and use it instead of CL. 2020-01-16T00:32:11Z pjb: I could have written Python 2.7 :-) 2020-01-16T00:32:25Z rwcom quit (Ping timeout: 258 seconds) 2020-01-16T00:32:26Z rwcom4 is now known as rwcom 2020-01-16T00:32:37Z epony joined #lisp 2020-01-16T00:32:43Z LdBeth: or there's :zetalisp on a lisp machine 2020-01-16T00:33:25Z tfb joined #lisp 2020-01-16T00:33:26Z pjb: In 1990, you wouldn't fetch thousands of libraries from the Internet… Software Engineering of CL software has much improved during the last 20 years, only thanks to asdf, quicklisp and the Internet. 2020-01-16T00:33:30Z aeth: hmm, actually you could define separator characters in hierarchical packages and so if you want #\\ or #\. or #\/ then no matter what you can have it. 2020-01-16T00:33:56Z smazga quit (Quit: leaving) 2020-01-16T00:34:33Z aeth: HiRE: as far as (:use :cl) goes, you could e.g. (:use :r7rs) and get R7RS Scheme with symbols such as |car| and |cdr| and |list| instead of CAR and CDR and LIST 2020-01-16T00:35:04Z aeth: CL has always been a language for writing languages. It would be far easier to do something like JS's TypeScript in CL than it is in JS, and it would be "built-in" rather than an additional compilation step 2020-01-16T00:35:23Z HiRE: thats so interesting. I guess thats the power of lisp. Makes sense, just mindboggling coming from a professional programming life of if you write it one language everything must be in that language 2020-01-16T00:35:39Z HiRE: its pretty neat you can cleanly integrate so many different dialects 2020-01-16T00:36:01Z Xach: everything must be in lisp 2020-01-16T00:36:02Z HiRE: aeth, rumor has it Javascript is just a poor attempt at implementing CL 2020-01-16T00:36:04Z aeth: As far as doing something like TypeScript in CL, it's almost an introductory project to do a type-declared DEFUN macro. There are probably like 50 of those. There's at least one that's fancier than that and tries to do a fancier ML-style type system, though. 2020-01-16T00:37:15Z aeth: HiRE: Scheme, not CL. The author of JS was originally going to implement a Scheme, but that was rejected based on the syntax. Not much was borrowed from Scheme, although since idk 2007 or so people have been adding parts of Scheme to JS to try to justify the origin myth. 2020-01-16T00:37:47Z aeth: So at this point "JS is inspired by Scheme" is probably true, even though it was once false. 2020-01-16T00:37:56Z HiRE: oh I didnt even realize it was at least a partial truth. I figured it was just another jab using greenspun's 10th rule. 2020-01-16T00:38:47Z Xach: Shinmera: what should i do about identically-named system files in maiden? 2020-01-16T00:39:25Z theBlackDragon quit (Remote host closed the connection) 2020-01-16T00:42:37Z kilimanjaro quit (Read error: Connection reset by peer) 2020-01-16T00:42:38Z Balooga quit (Read error: Connection reset by peer) 2020-01-16T00:42:43Z rme quit (Ping timeout: 250 seconds) 2020-01-16T00:42:48Z rvirding quit (Ping timeout: 245 seconds) 2020-01-16T00:42:48Z billstclair quit (Ping timeout: 245 seconds) 2020-01-16T00:42:49Z banjiewen quit (Ping timeout: 272 seconds) 2020-01-16T00:43:18Z bytesighs quit (Ping timeout: 252 seconds) 2020-01-16T00:43:32Z lispyone_ quit (Ping timeout: 260 seconds) 2020-01-16T00:43:32Z hydan quit (Ping timeout: 260 seconds) 2020-01-16T00:43:34Z pjb: Well, any good programming language designer would have to know lisp and scheme, amongst a lot of other programming languages. So you can always say that a new programming language is inspired by scheme (or lisp). But this is definitely not a guarantee of quality for the new language. 2020-01-16T00:44:01Z jsatk quit (Ping timeout: 250 seconds) 2020-01-16T00:44:02Z drmeister quit (Read error: Connection reset by peer) 2020-01-16T00:44:07Z splittist quit (Ping timeout: 260 seconds) 2020-01-16T00:44:27Z johs quit (Ping timeout: 250 seconds) 2020-01-16T00:44:42Z mjl quit (Ping timeout: 260 seconds) 2020-01-16T00:44:42Z lukego quit (Ping timeout: 260 seconds) 2020-01-16T00:44:43Z teej quit (Ping timeout: 272 seconds) 2020-01-16T00:45:18Z gendl quit (Ping timeout: 246 seconds) 2020-01-16T00:45:18Z badgerblock quit (Ping timeout: 245 seconds) 2020-01-16T00:45:18Z XachX quit (Ping timeout: 245 seconds) 2020-01-16T00:45:52Z mgsk quit (Ping timeout: 252 seconds) 2020-01-16T00:45:52Z jhei quit (Ping timeout: 260 seconds) 2020-01-16T00:45:52Z sgithens quit (Ping timeout: 260 seconds) 2020-01-16T00:45:56Z physpi quit (Ping timeout: 248 seconds) 2020-01-16T00:46:11Z selwyn quit (Ping timeout: 250 seconds) 2020-01-16T00:46:27Z tazjin quit (Ping timeout: 260 seconds) 2020-01-16T00:46:28Z avicenna quit (Ping timeout: 248 seconds) 2020-01-16T00:46:37Z chewbranca quit (Ping timeout: 272 seconds) 2020-01-16T00:47:02Z CEnnis91 quit (Ping timeout: 260 seconds) 2020-01-16T00:47:02Z gjnoonan quit (Ping timeout: 260 seconds) 2020-01-16T00:47:08Z theBlackDragon joined #lisp 2020-01-16T00:47:15Z pent quit (Ping timeout: 272 seconds) 2020-01-16T00:47:21Z karlosz joined #lisp 2020-01-16T00:47:24Z tfb quit (Ping timeout: 246 seconds) 2020-01-16T00:47:32Z parisienne_ quit (Ping timeout: 248 seconds) 2020-01-16T00:48:31Z travv0 quit (Ping timeout: 272 seconds) 2020-01-16T00:49:13Z stylewarning quit (Ping timeout: 250 seconds) 2020-01-16T00:49:31Z aeth: pjb: 2020-01-16T00:49:40Z aeth: oops, my numpad "enter was hit" somehow 2020-01-16T00:49:58Z aeth: pjb: The problem with "inspired by Lisp" is that you could make that claim for nearly any modern language because Lisp used to have features that no one else did, like GC 2020-01-16T00:50:27Z aeth: But these days, saying your language is "inspired by Lisp" just because it has a GC would be incredibly misleading because people think about the features that still distinguish Lisps from the rest, like the numeric tower 2020-01-16T00:50:39Z aeth: s/"enter was hit"/"enter" was hit/ 2020-01-16T00:51:15Z p_l quit (Ping timeout: 246 seconds) 2020-01-16T00:53:24Z Kevslinger quit (Ping timeout: 248 seconds) 2020-01-16T00:53:38Z badgerblock joined #lisp 2020-01-16T00:54:37Z jlpeters quit (Ping timeout: 260 seconds) 2020-01-16T00:54:51Z jerme_ quit (Ping timeout: 272 seconds) 2020-01-16T00:55:19Z MonoBobo joined #lisp 2020-01-16T00:55:46Z nirved quit (Ping timeout: 252 seconds) 2020-01-16T00:56:40Z nirved joined #lisp 2020-01-16T00:59:17Z turona quit (Ping timeout: 272 seconds) 2020-01-16T00:59:30Z turona joined #lisp 2020-01-16T01:02:06Z fowlduck quit (Ping timeout: 246 seconds) 2020-01-16T01:02:55Z lansiir joined #lisp 2020-01-16T01:03:11Z oldtopman quit (Quit: *pouf*) 2020-01-16T01:04:21Z badgerblock quit (Ping timeout: 272 seconds) 2020-01-16T01:09:24Z rdh joined #lisp 2020-01-16T01:12:35Z Achylles quit (Remote host closed the connection) 2020-01-16T01:14:18Z Oladon joined #lisp 2020-01-16T01:18:05Z pent joined #lisp 2020-01-16T01:20:33Z aeth_ joined #lisp 2020-01-16T01:20:54Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-16T01:21:07Z aeth quit (Disconnected by services) 2020-01-16T01:21:15Z aeth_ is now known as aeth 2020-01-16T01:21:33Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-16T01:22:09Z pjb: aeth: indeed, "inspired by lisp" is a problem. Foremost when they deliberately masacre lisp to make their language, like Matsumoto created Ruby the matsacred lisp… 2020-01-16T01:24:37Z _jrjsmrtn quit (Ping timeout: 268 seconds) 2020-01-16T01:25:00Z __jrjsmrtn__ joined #lisp 2020-01-16T01:25:53Z pent quit (Ping timeout: 272 seconds) 2020-01-16T01:25:56Z phlim quit (Quit: WeeChat 2.4) 2020-01-16T01:27:48Z jfb4 joined #lisp 2020-01-16T01:28:02Z jfb4_ quit (Ping timeout: 240 seconds) 2020-01-16T01:35:38Z shifty joined #lisp 2020-01-16T01:36:18Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-16T01:36:32Z quazimodo joined #lisp 2020-01-16T01:39:56Z ebrasca joined #lisp 2020-01-16T01:45:35Z sgithens joined #lisp 2020-01-16T01:45:35Z johs joined #lisp 2020-01-16T01:47:38Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-16T01:49:42Z sgithens quit (Ping timeout: 246 seconds) 2020-01-16T01:50:35Z johs quit (Ping timeout: 272 seconds) 2020-01-16T01:51:58Z fowlduck joined #lisp 2020-01-16T01:53:39Z william1 quit (Ping timeout: 265 seconds) 2020-01-16T01:54:50Z shifty quit (Ping timeout: 268 seconds) 2020-01-16T01:55:18Z rtra quit (Ping timeout: 245 seconds) 2020-01-16T01:55:58Z shifty joined #lisp 2020-01-16T01:57:19Z rtra joined #lisp 2020-01-16T02:05:09Z fowlduck quit (Ping timeout: 272 seconds) 2020-01-16T02:14:01Z rtra quit (Ping timeout: 272 seconds) 2020-01-16T02:14:01Z shifty quit (Ping timeout: 272 seconds) 2020-01-16T02:14:13Z vms14 quit (Remote host closed the connection) 2020-01-16T02:14:14Z Nilby left #lisp 2020-01-16T02:14:58Z shifty joined #lisp 2020-01-16T02:14:59Z rtra joined #lisp 2020-01-16T02:18:00Z hlavaty` joined #lisp 2020-01-16T02:20:29Z pent joined #lisp 2020-01-16T02:21:48Z hlavaty quit (Ping timeout: 260 seconds) 2020-01-16T02:22:52Z jhei joined #lisp 2020-01-16T02:25:25Z pent quit (Ping timeout: 272 seconds) 2020-01-16T02:25:26Z aeth: pjb: On the other hand, technically speaking, Common Lisp is an "inspired by Lisp" language. 2020-01-16T02:26:05Z mjl joined #lisp 2020-01-16T02:27:48Z pent joined #lisp 2020-01-16T02:30:32Z pent quit (Max SendQ exceeded) 2020-01-16T02:31:06Z rwcom4 joined #lisp 2020-01-16T02:32:53Z rwcom quit (Ping timeout: 260 seconds) 2020-01-16T02:32:53Z rwcom4 is now known as rwcom 2020-01-16T02:33:17Z dddddd quit (Ping timeout: 265 seconds) 2020-01-16T02:33:19Z pent joined #lisp 2020-01-16T02:35:32Z shifty quit (Ping timeout: 268 seconds) 2020-01-16T02:35:33Z mjl quit (Ping timeout: 246 seconds) 2020-01-16T02:35:33Z jhei quit (Ping timeout: 246 seconds) 2020-01-16T02:36:22Z shifty joined #lisp 2020-01-16T02:37:04Z pent quit (Max SendQ exceeded) 2020-01-16T02:37:37Z atgreen joined #lisp 2020-01-16T02:39:37Z rtra quit (Ping timeout: 260 seconds) 2020-01-16T02:40:43Z jhei joined #lisp 2020-01-16T02:41:45Z rtra joined #lisp 2020-01-16T02:41:52Z pent joined #lisp 2020-01-16T02:42:31Z rdh quit (Quit: Leaving) 2020-01-16T02:43:08Z billstclair joined #lisp 2020-01-16T02:44:52Z shifty quit (Remote host closed the connection) 2020-01-16T02:45:11Z shifty joined #lisp 2020-01-16T02:45:57Z ebrasca quit (Remote host closed the connection) 2020-01-16T02:46:08Z jhei quit (Ping timeout: 245 seconds) 2020-01-16T02:49:09Z jhei joined #lisp 2020-01-16T02:49:39Z shifty quit (Ping timeout: 258 seconds) 2020-01-16T02:50:18Z rtra quit (Ping timeout: 245 seconds) 2020-01-16T02:53:06Z rtra joined #lisp 2020-01-16T02:53:37Z pent quit (Ping timeout: 260 seconds) 2020-01-16T02:54:48Z jhei quit (Ping timeout: 246 seconds) 2020-01-16T02:57:05Z X-Scale` joined #lisp 2020-01-16T02:57:36Z rtra quit (Ping timeout: 246 seconds) 2020-01-16T02:58:44Z pent joined #lisp 2020-01-16T02:58:59Z X-Scale quit (Ping timeout: 272 seconds) 2020-01-16T02:58:59Z X-Scale` is now known as X-Scale 2020-01-16T02:59:05Z rtra joined #lisp 2020-01-16T03:02:04Z pent quit (Max SendQ exceeded) 2020-01-16T03:02:17Z billstclair quit (Ping timeout: 265 seconds) 2020-01-16T03:12:55Z rumbler31 quit (Remote host closed the connection) 2020-01-16T03:15:03Z Lord_of_Life_ joined #lisp 2020-01-16T03:15:29Z ahungry joined #lisp 2020-01-16T03:16:29Z pent joined #lisp 2020-01-16T03:16:38Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-16T03:16:38Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-16T03:16:39Z rtra quit (Remote host closed the connection) 2020-01-16T03:17:17Z rtra joined #lisp 2020-01-16T03:18:29Z pent quit (Max SendQ exceeded) 2020-01-16T03:22:39Z remexre joined #lisp 2020-01-16T03:25:19Z william1 joined #lisp 2020-01-16T03:25:29Z jack_rabbit quit (Ping timeout: 265 seconds) 2020-01-16T03:26:54Z jfb4_ joined #lisp 2020-01-16T03:26:57Z akoana left #lisp 2020-01-16T03:27:29Z rtra quit (Ping timeout: 272 seconds) 2020-01-16T03:27:37Z splittist joined #lisp 2020-01-16T03:27:43Z jfb4 quit (Ping timeout: 260 seconds) 2020-01-16T03:29:10Z pjb: aeth: Definitely. And it has been criticized as such. And it has the same success relatively as the other ones. 2020-01-16T03:45:28Z pent joined #lisp 2020-01-16T03:49:35Z ahungry quit (Remote host closed the connection) 2020-01-16T03:49:58Z g0d_shatter quit (Remote host closed the connection) 2020-01-16T03:50:55Z pent quit (Ping timeout: 272 seconds) 2020-01-16T03:54:24Z william1_ joined #lisp 2020-01-16T03:55:42Z william1 quit (Ping timeout: 268 seconds) 2020-01-16T03:57:49Z jfb4 joined #lisp 2020-01-16T03:58:50Z jfb4_ quit (Ping timeout: 240 seconds) 2020-01-16T03:59:01Z rtra joined #lisp 2020-01-16T03:59:09Z william1_ quit (Ping timeout: 272 seconds) 2020-01-16T04:01:36Z milanj quit (Quit: This computer has gone to sleep) 2020-01-16T04:08:52Z rtra quit (Ping timeout: 260 seconds) 2020-01-16T04:13:31Z rumbler31 joined #lisp 2020-01-16T04:19:03Z rumbler31 quit (Ping timeout: 260 seconds) 2020-01-16T04:19:22Z splittist quit (Ping timeout: 260 seconds) 2020-01-16T04:27:10Z lemoinem quit (Killed (orwell.freenode.net (Nickname regained by services))) 2020-01-16T04:27:12Z lemoinem joined #lisp 2020-01-16T04:30:42Z slyrus joined #lisp 2020-01-16T04:34:18Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-16T04:37:43Z Krystof quit (Ping timeout: 260 seconds) 2020-01-16T04:42:27Z rtra joined #lisp 2020-01-16T04:45:57Z Oladon quit (Quit: Leaving.) 2020-01-16T04:46:49Z torbo joined #lisp 2020-01-16T04:56:03Z aeth quit (Read error: Connection reset by peer) 2020-01-16T04:56:23Z hlavaty` quit (Ping timeout: 260 seconds) 2020-01-16T05:01:04Z vivit quit (Ping timeout: 268 seconds) 2020-01-16T05:01:07Z Bike quit (Quit: Lost terminal) 2020-01-16T05:01:17Z aeth joined #lisp 2020-01-16T05:01:47Z decent-username joined #lisp 2020-01-16T05:04:34Z gravicappa joined #lisp 2020-01-16T05:08:58Z splittist joined #lisp 2020-01-16T05:11:13Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-16T05:14:12Z splittist quit (Ping timeout: 260 seconds) 2020-01-16T05:19:28Z Oladon joined #lisp 2020-01-16T05:24:28Z White_Flame: aeth: common lisp has direct lisp lineage; it's not some new offshoot that only takes inspiration without continuance of design 2020-01-16T05:24:52Z White_Flame: so I don't quite think that works as described 2020-01-16T05:26:18Z aeth: White_Flame: Good enough for the "Influenced by" in the Wikipedia infobox. https://en.wikipedia.org/wiki/Common_Lisp 2020-01-16T05:26:48Z White_Flame: heh, I guess 2020-01-16T05:27:08Z aeth: It doesn't go the other way around, though. [[Lisp]] has Common Lisp under "Dialects" not "Influenced" 2020-01-16T05:27:10Z White_Flame: but still, that's influence, not inspiration ;) 2020-01-16T05:27:21Z oxum quit (Remote host closed the connection) 2020-01-16T05:27:38Z asarch joined #lisp 2020-01-16T05:29:44Z asarch: One stupid question: I do the query (let ((results (query "SELECT * FROM foo"))) and then I parse every record in the query (loop for record in results do ..., question: how could I initialize a counter from 0 and increment its value on every iteration inside the loop expression? 2020-01-16T05:29:44Z minion: asarch, memo from pjb: genera and instructions can be found at: https://cliki.net/VLM_on_Linux 2020-01-16T05:29:44Z minion: asarch, memo from lieven: for recent X versions, you need to patch genera. See https://archives.loomcom.com/genera/genera-install.html#org783aa06 2020-01-16T05:30:43Z asarch: Thank you pjb! 2020-01-16T05:31:07Z rtra quit (Ping timeout: 260 seconds) 2020-01-16T05:31:55Z White_Flame: or VLM in docker, where you don't have to worry about any config: https://github.com/sethm/docker-vlm 2020-01-16T05:33:17Z travv0 joined #lisp 2020-01-16T05:34:38Z rtra joined #lisp 2020-01-16T05:41:58Z smokeink joined #lisp 2020-01-16T05:43:38Z rtra quit (Ping timeout: 245 seconds) 2020-01-16T05:43:45Z oxum joined #lisp 2020-01-16T05:45:10Z rumbler31 joined #lisp 2020-01-16T05:46:49Z travv0 quit (Ping timeout: 272 seconds) 2020-01-16T05:48:01Z Oladon quit (Read error: Connection reset by peer) 2020-01-16T05:49:10Z oxum quit (Ping timeout: 268 seconds) 2020-01-16T05:49:28Z Oladon joined #lisp 2020-01-16T05:50:00Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-16T05:50:53Z asarch: (loop for i in (list 1 2 3 4 5) and b = 0 do (format t "Valor: ~d " b) (incf b) (format t "Hello paisanos~%")) <- Why b is not incremented? 2020-01-16T05:51:43Z h11 quit (Quit: The Lounge - https://thelounge.chat) 2020-01-16T05:52:15Z h11 joined #lisp 2020-01-16T05:53:07Z Codaraxis joined #lisp 2020-01-16T05:54:06Z oxum joined #lisp 2020-01-16T05:54:24Z seok joined #lisp 2020-01-16T05:54:58Z vlatkoB joined #lisp 2020-01-16T05:55:24Z seok: how to regex digits only from string? 2020-01-16T05:55:26Z seok: ppcre? 2020-01-16T05:56:19Z brown121408 quit (Ping timeout: 272 seconds) 2020-01-16T05:56:26Z brown121407 joined #lisp 2020-01-16T05:56:40Z travv0 joined #lisp 2020-01-16T05:57:12Z beach: Good morning everyone! 2020-01-16T05:57:18Z seok: morning 2020-01-16T05:57:24Z seok: evening here in Sydney 2020-01-16T05:57:25Z beach: asarch: Because you are setting it to 0 in every iteration. 2020-01-16T05:58:02Z asarch: D'oh! I thought the iteration was only the do part 2020-01-16T05:58:31Z asarch: Just like the old for (int i = 1, j = 2; ...) 2020-01-16T05:59:15Z no-defun-allowed: minion: tell seok about Universal Greeting Time 2020-01-16T05:59:15Z minion: seok: look at Universal Greeting Time: It is always morning when a person enters a channel, and late night when they leave. You may want to read http://www.total-knowledge.com/~ilya/mips/ugt.html for further information 2020-01-16T05:59:49Z seok: Gosh 2020-01-16T06:00:55Z holycow: does anyone know jackdaniels page where he posts mcclim updates? 2020-01-16T06:01:11Z torbo quit (Remote host closed the connection) 2020-01-16T06:01:27Z travv0 quit (Ping timeout: 260 seconds) 2020-01-16T06:02:20Z narimiran joined #lisp 2020-01-16T06:02:22Z no-defun-allowed: https://common-lisp.net/project/mcclim/1.html could be it, but that really only has releases. 2020-01-16T06:02:34Z splittist joined #lisp 2020-01-16T06:02:44Z holycow: ohhhhh .. ok. 2020-01-16T06:02:49Z holycow: thank you kindly 2020-01-16T06:03:42Z moon-child quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-01-16T06:04:13Z moon-child joined #lisp 2020-01-16T06:06:04Z holycow: moon-child: chat is googleusercontent.com ? 2020-01-16T06:06:12Z holycow: chat == what 2020-01-16T06:07:30Z holycow: you are accessing irc through something on the google app engine? something perhaps writting in lisp? 2020-01-16T06:07:33Z holycow: :) 2020-01-16T06:08:34Z moon-child: holycow: nah, just running a bouncer on a google cloud vps 2020-01-16T06:08:57Z moon-child: I get a lot of questions about that :P 2020-01-16T06:09:05Z holycow: ah! neato! i just found out what znc is 2020-01-16T06:09:37Z moon-child: :) 2020-01-16T06:09:53Z moon-child: I never used it for the longest time, but now I can't live without it 2020-01-16T06:12:30Z HiRE: znc is nice 2020-01-16T06:13:25Z splittist quit (Ping timeout: 272 seconds) 2020-01-16T06:17:52Z stepnem_ joined #lisp 2020-01-16T06:19:00Z stepnem quit (Ping timeout: 265 seconds) 2020-01-16T06:25:28Z jfb4 quit (Ping timeout: 258 seconds) 2020-01-16T06:25:30Z ljavorsk joined #lisp 2020-01-16T06:25:50Z Balooga joined #lisp 2020-01-16T06:26:02Z rtra joined #lisp 2020-01-16T06:27:31Z ljavorsk_ joined #lisp 2020-01-16T06:29:38Z ljavorsk quit (Ping timeout: 240 seconds) 2020-01-16T06:29:53Z Balooga quit (Ping timeout: 245 seconds) 2020-01-16T06:39:22Z doublex_ quit (Ping timeout: 260 seconds) 2020-01-16T06:39:38Z rtra quit (Ping timeout: 240 seconds) 2020-01-16T06:41:05Z rwcom8 joined #lisp 2020-01-16T06:42:04Z oxum quit (Read error: Connection reset by peer) 2020-01-16T06:42:21Z oxum joined #lisp 2020-01-16T06:42:55Z jfb4 joined #lisp 2020-01-16T06:43:11Z rwcom quit (Ping timeout: 272 seconds) 2020-01-16T06:43:12Z rwcom8 is now known as rwcom 2020-01-16T06:45:55Z rumbler31 joined #lisp 2020-01-16T06:47:40Z asarch: How would you convert PostgreSQL date format (3607727110) to human-readable? 2020-01-16T06:48:34Z selwyn joined #lisp 2020-01-16T06:48:45Z sgithens joined #lisp 2020-01-16T06:49:11Z Odin-: In Postgres, probably. 2020-01-16T06:49:12Z Oladon quit (Quit: Leaving.) 2020-01-16T06:49:26Z CEnnis91 joined #lisp 2020-01-16T06:49:39Z gjnoonan joined #lisp 2020-01-16T06:49:50Z l1x joined #lisp 2020-01-16T06:50:08Z teej joined #lisp 2020-01-16T06:50:23Z lukego joined #lisp 2020-01-16T06:50:43Z chewbranca joined #lisp 2020-01-16T06:50:56Z johs joined #lisp 2020-01-16T06:51:35Z rtra joined #lisp 2020-01-16T06:51:38Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-16T06:51:45Z splittist joined #lisp 2020-01-16T06:51:56Z Balooga joined #lisp 2020-01-16T06:52:14Z travv0 joined #lisp 2020-01-16T06:52:18Z boeg joined #lisp 2020-01-16T06:52:50Z gendl joined #lisp 2020-01-16T06:53:20Z jprajzne joined #lisp 2020-01-16T06:54:21Z mjl joined #lisp 2020-01-16T06:54:44Z pent joined #lisp 2020-01-16T06:56:19Z jfb4_ joined #lisp 2020-01-16T06:57:00Z mgsk joined #lisp 2020-01-16T06:57:10Z tfb joined #lisp 2020-01-16T06:57:21Z bytesighs joined #lisp 2020-01-16T06:57:22Z jsatk joined #lisp 2020-01-16T06:57:48Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-16T06:58:23Z rtra quit (Ping timeout: 272 seconds) 2020-01-16T06:58:43Z avicenna joined #lisp 2020-01-16T06:59:40Z rtra joined #lisp 2020-01-16T07:00:58Z jerme_ joined #lisp 2020-01-16T07:02:10Z parisienne_ joined #lisp 2020-01-16T07:03:25Z physpi joined #lisp 2020-01-16T07:03:35Z JohnMS_WORK joined #lisp 2020-01-16T07:04:10Z davisr__ quit (Remote host closed the connection) 2020-01-16T07:04:21Z davisr joined #lisp 2020-01-16T07:05:28Z billstclair joined #lisp 2020-01-16T07:05:34Z Shinmera: Xach: Nothing, it's been fixed. 2020-01-16T07:05:40Z badgerblock joined #lisp 2020-01-16T07:06:10Z stylewarning joined #lisp 2020-01-16T07:06:12Z rtra quit (Ping timeout: 260 seconds) 2020-01-16T07:06:17Z jfb4 joined #lisp 2020-01-16T07:07:08Z rtra joined #lisp 2020-01-16T07:07:29Z jhei joined #lisp 2020-01-16T07:07:39Z drmeister joined #lisp 2020-01-16T07:08:00Z jlpeters joined #lisp 2020-01-16T07:08:24Z jfb4_ quit (Ping timeout: 258 seconds) 2020-01-16T07:08:28Z Kevslinger joined #lisp 2020-01-16T07:09:06Z sauvin joined #lisp 2020-01-16T07:09:39Z sauvin quit (Max SendQ exceeded) 2020-01-16T07:10:10Z sauvin joined #lisp 2020-01-16T07:11:02Z lieven joined #lisp 2020-01-16T07:13:46Z ebzzry joined #lisp 2020-01-16T07:14:15Z fowlduck joined #lisp 2020-01-16T07:14:27Z p_l joined #lisp 2020-01-16T07:15:18Z jfb4_ joined #lisp 2020-01-16T07:18:35Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-16T07:22:12Z rtra quit (Ping timeout: 246 seconds) 2020-01-16T07:23:00Z flamebeard joined #lisp 2020-01-16T07:24:40Z rtra joined #lisp 2020-01-16T07:27:17Z jfb4 joined #lisp 2020-01-16T07:28:47Z jfb4_ quit (Ping timeout: 272 seconds) 2020-01-16T07:29:55Z asedeno joined #lisp 2020-01-16T07:29:58Z asarch quit (Quit: Leaving) 2020-01-16T07:33:13Z rtra quit (Ping timeout: 272 seconds) 2020-01-16T07:34:45Z rtra joined #lisp 2020-01-16T07:34:46Z seok: how do I filter digits only from string? 2020-01-16T07:35:07Z orivej quit (Ping timeout: 272 seconds) 2020-01-16T07:35:15Z Oladon joined #lisp 2020-01-16T07:35:25Z beach: clhs remove-if-not 2020-01-16T07:35:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rm_rm.htm 2020-01-16T07:35:25Z ck_: seok: (remove-if-not #'digit-char-p string) ? 2020-01-16T07:35:43Z seok: yeah I just found that 2020-01-16T07:35:44Z seok: ty 2020-01-16T07:37:24Z g0d_shatter joined #lisp 2020-01-16T07:40:36Z wxie joined #lisp 2020-01-16T07:45:01Z LdBeth: is it good idea to store the instruction database :allocation :class into a mixin class so the database can be isolated for different machine 2020-01-16T07:45:35Z scymtym quit (Ping timeout: 258 seconds) 2020-01-16T07:46:32Z hydan joined #lisp 2020-01-16T07:47:33Z banjiewen joined #lisp 2020-01-16T07:48:10Z LdBeth: https://pastebin.com/43VnRE9R 2020-01-16T07:49:22Z rtra quit (Ping timeout: 260 seconds) 2020-01-16T07:49:40Z rme joined #lisp 2020-01-16T07:51:57Z rtra joined #lisp 2020-01-16T07:54:06Z rvirding joined #lisp 2020-01-16T07:54:59Z william1_ joined #lisp 2020-01-16T07:55:24Z XachX joined #lisp 2020-01-16T07:58:02Z Posterdati quit (Ping timeout: 240 seconds) 2020-01-16T07:59:11Z rtra quit (Ping timeout: 272 seconds) 2020-01-16T07:59:42Z kilimanjaro joined #lisp 2020-01-16T07:59:54Z william1_ quit (Ping timeout: 268 seconds) 2020-01-16T07:59:54Z v0|d quit (Read error: Connection reset by peer) 2020-01-16T08:00:02Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-16T08:01:35Z Qudit314159 joined #lisp 2020-01-16T08:02:13Z Kaisyu joined #lisp 2020-01-16T08:09:41Z femi quit (Ping timeout: 265 seconds) 2020-01-16T08:10:39Z Oladon quit (Ping timeout: 265 seconds) 2020-01-16T08:11:28Z Posterdati joined #lisp 2020-01-16T08:11:31Z Oladon joined #lisp 2020-01-16T08:11:44Z femi joined #lisp 2020-01-16T08:12:43Z milanj joined #lisp 2020-01-16T08:13:50Z tazjin joined #lisp 2020-01-16T08:16:01Z lispyone_ joined #lisp 2020-01-16T08:18:08Z montarop1 joined #lisp 2020-01-16T08:18:58Z montarop1 quit (Client Quit) 2020-01-16T08:20:16Z montaropdf joined #lisp 2020-01-16T08:22:03Z Posterdati quit (Ping timeout: 265 seconds) 2020-01-16T08:26:54Z Posterdati joined #lisp 2020-01-16T08:28:13Z g0d_shatter: LdBeth: I'm sorry I can't help you, but I'm super curious what the application is if you can talk about it! 2020-01-16T08:29:52Z scymtym joined #lisp 2020-01-16T08:30:23Z LdBeth: g0d_shatter: it an assembler modeled after the one used for Symbolics Virtual Lisp Machine https://github.com/hanshuebner/vlm 2020-01-16T08:30:56Z mingus joined #lisp 2020-01-16T08:34:12Z g0d_shatter: LdBeth: thank you! 2020-01-16T08:34:57Z Oladon quit (Quit: Leaving.) 2020-01-16T08:36:27Z heisig joined #lisp 2020-01-16T08:42:20Z wxie quit (Quit: wxie) 2020-01-16T08:42:33Z wxie joined #lisp 2020-01-16T08:45:45Z karlosz quit (Quit: karlosz) 2020-01-16T08:46:37Z gxt joined #lisp 2020-01-16T08:47:13Z rumbler31 joined #lisp 2020-01-16T08:49:56Z tiwEllien joined #lisp 2020-01-16T08:51:22Z karlosz joined #lisp 2020-01-16T08:52:30Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-16T08:56:20Z rtra joined #lisp 2020-01-16T08:58:52Z eeeeeta: > remove-if-not 2020-01-16T08:59:01Z eeeeeta: grumble grumble deprecated functions 2020-01-16T08:59:30Z eeeeeta: (remove-if (complement #'digit-char-p) string) :p 2020-01-16T08:59:32Z eeeeeta: T 2020-01-16T09:00:12Z lieven: yeah the ANSI committee is going to reconvene and bring out a new version of the standard with the deprecated functions removed any day now 2020-01-16T09:01:03Z luis: I mean, not even SBCL complains about remove-if-not. ;-) 2020-01-16T09:01:25Z no-defun-allowed: No one complains about the deprecated functions. 2020-01-16T09:01:54Z galdor: what is the logic behind this deprecation ? 2020-01-16T09:03:07Z heisig: There is none. I think at some point in time, people were too hyped about cl:complement and made some funny choices. 2020-01-16T09:03:51Z lieven: especially in a language like CL which does not strive to be minimal 2020-01-16T09:04:07Z heisig: I could imagine the motivation was to reduce the size of the CL package. 2020-01-16T09:04:15Z luis: http://clhs.lisp.se/Issues/iss345_w.htm 2020-01-16T09:04:43Z raghavgururajan quit (Remote host closed the connection) 2020-01-16T09:05:40Z jackdaniel: orthogonal features like complement make a lot of sense from a learning perspective, but deprecated in case of CL means: it will be around for another three standard revisions 2020-01-16T09:05:48Z jackdaniel: and we don't even know if there will be the next one ;) 2020-01-16T09:05:52Z lieven: there are a bunch of functions in CL that are used a lot less 2020-01-16T09:06:06Z hhdave joined #lisp 2020-01-16T09:06:42Z lieven: after SETF they could deprecate RPLACD and similar mutators 2020-01-16T09:06:42Z galdor: it's faster to type than remove-if + complement so it's all good 2020-01-16T09:08:41Z jackdaniel: you may always define an abbreviation (~ test) 2020-01-16T09:15:14Z karlosz quit (Quit: karlosz) 2020-01-16T09:15:45Z william1 joined #lisp 2020-01-16T09:16:53Z orivej joined #lisp 2020-01-16T09:18:29Z ym joined #lisp 2020-01-16T09:19:04Z montaropdf left #lisp 2020-01-16T09:19:16Z montaropdf joined #lisp 2020-01-16T09:22:06Z aeth: You all covered pretty much every point in one of the strangest CL flamewar topics except also... remove-if-not is faster unless the compiler optimizes remove-if complement, which the compiler authors are less incentivized to do because remove-if-not exists, even though remove-if-not is deprecated 2020-01-16T09:22:14Z aeth: Last time it came up, SBCL didn't have it optimized, but who knows? 2020-01-16T09:27:34Z Posterdati quit (Read error: Connection reset by peer) 2020-01-16T09:27:38Z zmt01 quit (Ping timeout: 260 seconds) 2020-01-16T09:27:53Z davepdotorg joined #lisp 2020-01-16T09:27:57Z Posterdati joined #lisp 2020-01-16T09:28:25Z lieven: it's doable by a compiler-macro on remove-if so they easily could if they wanted 2020-01-16T09:31:50Z aeth: lieven: Last time it was brought up (although for all I know it was implemented 15 SBCLs ago) it wasn't quite as trivial as it sounds, but imo the key thing it shows is that it wasn't seen as particularly idiomatic or else it would have been optimized already. 2020-01-16T09:32:32Z heisig: lieven: Heh, 'easily'. Have you ever tried parsing keyword arguments in a compiler macro :) 2020-01-16T09:33:49Z Posterdati quit (Read error: Connection reset by peer) 2020-01-16T09:34:01Z heisig: And there is the problem that you couldn't optimize (let ((g (complement f))) (remove-if g x)), because the compiler macro only sees 'g'. 2020-01-16T09:34:48Z aeth: heisig: re keywords, is there a way to get to the point where you can use destructuring-bind? I've never written a compiler macro 2020-01-16T09:36:03Z lieven: heisig: sure. the whole point of optimizing is to get the low hanging fruit. if people are deliberately obfuscating their code, they can live with the default speed 2020-01-16T09:37:23Z Lycurgus joined #lisp 2020-01-16T09:37:44Z heisig: aeth: Hmm, one could check that every second argument is a valid keyword, and then use destructuring-bind. Then one would still have to make sure that the order of evaluation is preserved. 2020-01-16T09:42:30Z Posterdati joined #lisp 2020-01-16T09:48:30Z beach: Yes, that's the tricky part. 2020-01-16T09:48:45Z rtra quit (Ping timeout: 272 seconds) 2020-01-16T09:49:19Z rtra joined #lisp 2020-01-16T09:49:53Z wxie quit (Ping timeout: 245 seconds) 2020-01-16T09:54:42Z william1_ joined #lisp 2020-01-16T09:59:09Z frgo quit 2020-01-16T09:59:24Z william1_ quit (Ping timeout: 265 seconds) 2020-01-16T10:00:19Z william1_ joined #lisp 2020-01-16T10:01:36Z dale quit (Quit: My computer has gone to sleep) 2020-01-16T10:02:50Z chimneys joined #lisp 2020-01-16T10:04:38Z frgo joined #lisp 2020-01-16T10:07:50Z zmt00 joined #lisp 2020-01-16T10:08:02Z wxie joined #lisp 2020-01-16T10:08:02Z rtra quit (Ping timeout: 240 seconds) 2020-01-16T10:09:57Z jonatack quit (Quit: jonatack) 2020-01-16T10:12:41Z mingus quit (Remote host closed the connection) 2020-01-16T10:13:18Z g0d_shatter quit (Quit: Leaving) 2020-01-16T10:15:34Z milanj quit (Quit: This computer has gone to sleep) 2020-01-16T10:17:58Z milanj joined #lisp 2020-01-16T10:20:34Z jonatack joined #lisp 2020-01-16T10:24:17Z wxie quit (Ping timeout: 258 seconds) 2020-01-16T10:27:03Z Lycurgus quit (Remote host closed the connection) 2020-01-16T10:30:49Z MonoBobo quit (Ping timeout: 265 seconds) 2020-01-16T10:32:04Z narimiran quit (Read error: Connection reset by peer) 2020-01-16T10:32:32Z narimiran joined #lisp 2020-01-16T10:36:50Z mnmx joined #lisp 2020-01-16T10:37:59Z chimneys quit (Read error: No route to host) 2020-01-16T10:41:01Z dddddd joined #lisp 2020-01-16T10:42:29Z mnmx left #lisp 2020-01-16T10:48:07Z rumbler31 joined #lisp 2020-01-16T10:52:39Z rumbler31 quit (Ping timeout: 258 seconds) 2020-01-16T10:54:53Z jonatack quit (Ping timeout: 245 seconds) 2020-01-16T11:08:36Z orivej quit (Ping timeout: 268 seconds) 2020-01-16T11:19:56Z imherentlybad joined #lisp 2020-01-16T11:20:31Z phoe: if we have CL:REMOVE and CL:REMOVE-IF, why not have CL:RETAIN and CL:RETAIN-IF 2020-01-16T11:20:43Z phoe ducks 2020-01-16T11:25:32Z heisig: phoe: Issue TEST-NOT-IF-NOT Writeup: "Several alternative names for REMOVE-IF-NOT were suggested: KEEP-IF, ABSTRACT, FILTER. We did not pursue these suggestions." 2020-01-16T11:26:05Z m00natic joined #lisp 2020-01-16T11:27:58Z brown121408 joined #lisp 2020-01-16T11:27:59Z brown121407 quit (Read error: Connection reset by peer) 2020-01-16T11:29:47Z galdor: did someone already this issue where emacs open all flexi-streams files when loading the system in slime ? 2020-01-16T11:33:04Z phoe: heisig: IMO twenty+ years of Common Lisp practice have shown that the future ANSI CL committee should likely pursue them at some point in time 2020-01-16T11:39:27Z mingus joined #lisp 2020-01-16T11:41:55Z Achylles joined #lisp 2020-01-16T11:42:35Z heisig: Even if there ever was a new standard, there cannot be any changes to the CL package. Otherwise, this new standard would break existing code. 2020-01-16T11:44:57Z heisig: I think it would be hilarious if there was a new CL standard, and it would essentially be 'We fixed a few typos and clarified a few descriptions'. 2020-01-16T11:45:13Z heisig: Imagine the faces of the C++ guys :D 2020-01-16T11:48:05Z frgo quit (Remote host closed the connection) 2020-01-16T11:48:12Z scymtym: "typo fixes and clarifications? why didn't you add lambdas and compile-time metaprogramming? everybody has those nowadays" 2020-01-16T11:48:44Z frgo joined #lisp 2020-01-16T11:54:52Z imherentlybad quit (Quit: WeeChat 2.6) 2020-01-16T11:56:16Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-16T11:59:38Z milanj quit (Quit: This computer has gone to sleep) 2020-01-16T12:01:52Z amerlyq joined #lisp 2020-01-16T12:03:14Z montaropdf quit (Ping timeout: 240 seconds) 2020-01-16T12:05:27Z montaropdf joined #lisp 2020-01-16T12:06:15Z flip214 quit (Ping timeout: 258 seconds) 2020-01-16T12:06:18Z phoe: "oh shit, right, we forgot to add those to lisp" 2020-01-16T12:07:54Z flip214 joined #lisp 2020-01-16T12:14:29Z jonatack joined #lisp 2020-01-16T12:17:04Z rtra joined #lisp 2020-01-16T12:20:51Z longshi joined #lisp 2020-01-16T12:23:52Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-01-16T12:30:22Z asdf_asdf_asdf joined #lisp 2020-01-16T12:33:31Z entel joined #lisp 2020-01-16T12:41:12Z ggole joined #lisp 2020-01-16T12:42:17Z Achylles quit (Ping timeout: 272 seconds) 2020-01-16T12:44:02Z Achylles joined #lisp 2020-01-16T12:44:29Z milanj joined #lisp 2020-01-16T12:46:58Z notzmv quit (Remote host closed the connection) 2020-01-16T12:48:56Z rumbler31 joined #lisp 2020-01-16T12:50:18Z hsaziz joined #lisp 2020-01-16T12:52:03Z oxum_ joined #lisp 2020-01-16T12:52:03Z oxum_ quit (Remote host closed the connection) 2020-01-16T12:53:24Z ozzloy quit (Ping timeout: 265 seconds) 2020-01-16T12:54:08Z rumbler31 quit (Ping timeout: 260 seconds) 2020-01-16T12:55:38Z oxum quit (Ping timeout: 240 seconds) 2020-01-16T13:01:49Z vivit joined #lisp 2020-01-16T13:02:31Z vivit quit (Client Quit) 2020-01-16T13:05:13Z oxum joined #lisp 2020-01-16T13:06:50Z hsaziz quit (Ping timeout: 240 seconds) 2020-01-16T13:07:12Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-16T13:07:30Z oxum quit (Remote host closed the connection) 2020-01-16T13:07:44Z oxum joined #lisp 2020-01-16T13:10:23Z asdf_asdf_asdf joined #lisp 2020-01-16T13:10:47Z kajo quit (Ping timeout: 272 seconds) 2020-01-16T13:17:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-16T13:17:56Z jonatack quit (Ping timeout: 258 seconds) 2020-01-16T13:28:32Z ebrasca joined #lisp 2020-01-16T13:30:43Z kajo joined #lisp 2020-01-16T13:32:50Z rtra quit (Ping timeout: 265 seconds) 2020-01-16T13:35:27Z smokeink quit (Ping timeout: 265 seconds) 2020-01-16T13:35:58Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-16T13:39:35Z Nilby joined #lisp 2020-01-16T13:41:42Z william1 quit (Ping timeout: 258 seconds) 2020-01-16T13:42:46Z asdf_asdf_asdf joined #lisp 2020-01-16T13:45:11Z ebzzry joined #lisp 2020-01-16T13:46:05Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-16T13:46:53Z asdf_asdf_asdf joined #lisp 2020-01-16T13:47:24Z JohnMS joined #lisp 2020-01-16T13:48:53Z EvW joined #lisp 2020-01-16T13:50:21Z JohnMS_WORK quit (Ping timeout: 268 seconds) 2020-01-16T13:51:19Z Achylles quit (Ping timeout: 272 seconds) 2020-01-16T14:01:42Z LiamH joined #lisp 2020-01-16T14:03:21Z Achylles joined #lisp 2020-01-16T14:04:12Z zmv joined #lisp 2020-01-16T14:05:45Z Achylles quit (Remote host closed the connection) 2020-01-16T14:06:19Z Bike joined #lisp 2020-01-16T14:09:37Z hjudt quit (Quit: leaving) 2020-01-16T14:10:44Z flamebeard quit (Remote host closed the connection) 2020-01-16T14:11:19Z flamebeard joined #lisp 2020-01-16T14:14:49Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2020-01-16T14:15:26Z kajo joined #lisp 2020-01-16T14:15:33Z EvW quit (Ping timeout: 246 seconds) 2020-01-16T14:16:20Z flamebeard quit (Ping timeout: 265 seconds) 2020-01-16T14:16:51Z hjudt joined #lisp 2020-01-16T14:17:40Z william1_ quit (Quit: WeeChat 2.6) 2020-01-16T14:19:24Z pfdietz: Lambda the New Lambda 2020-01-16T14:19:49Z Necktwi quit (Read error: Connection reset by peer) 2020-01-16T14:22:24Z Lycurgus joined #lisp 2020-01-16T14:22:56Z Kevslinger joined #lisp 2020-01-16T14:23:01Z milanj quit (Quit: This computer has gone to sleep) 2020-01-16T14:24:17Z pfdietz: slyrus: I have let the power of being able to merge pull requests in fset go to my head, and have merged one of yours from 2018. 2020-01-16T14:25:06Z Necktwi joined #lisp 2020-01-16T14:27:15Z _death: pfdietz: good to hear 2020-01-16T14:28:29Z lucasb joined #lisp 2020-01-16T14:29:25Z chimneys joined #lisp 2020-01-16T14:29:27Z chimneys: hi 2020-01-16T14:29:44Z chimneys: I need help installing cl-jupyter can't install quicklisp 2020-01-16T14:30:21Z chimneys: do i need to run loading after installation as well,.. https://www.quicklisp.org/beta/#loading 2020-01-16T14:30:28Z chimneys: I just ran installation cmd 2020-01-16T14:30:46Z frgo quit (Remote host closed the connection) 2020-01-16T14:30:58Z chimneys: I have jupyter in a venv of python 2020-01-16T14:31:07Z rumbler31 joined #lisp 2020-01-16T14:31:25Z frgo joined #lisp 2020-01-16T14:31:26Z chimneys: I open I see sbcl inside it, but it says kernel connecting and cells don't execute 2020-01-16T14:33:49Z chimneys: A connection to the notebook server could not be established. The notebook will continue trying to reconnect. Check your network connection or notebook server configuration. 2020-01-16T14:35:03Z Necktwi quit (Ping timeout: 260 seconds) 2020-01-16T14:35:52Z frgo quit (Ping timeout: 265 seconds) 2020-01-16T14:36:18Z Xach: 2020-01-16T14:39:15Z montaropdf quit (Ping timeout: 265 seconds) 2020-01-16T14:40:48Z chimneys: Xach: hi 2020-01-16T14:41:09Z Necktwi joined #lisp 2020-01-16T14:42:14Z montaropdf joined #lisp 2020-01-16T14:43:48Z dnaeon joined #lisp 2020-01-16T14:44:43Z flamebeard joined #lisp 2020-01-16T14:46:53Z dnaeon: hey all! i have two packages that export the same symbols, e.g. package `A:foo` and then I have package `B:foo`. How could I import these symbols into my own package and use both `A:foo` and `B:foo`? Any way I could import-alias them or similar? 2020-01-16T14:46:54Z montaropdf quit (Ping timeout: 268 seconds) 2020-01-16T14:47:54Z jackdaniel: basically you can't import two different symbols with the same name into the same package 2020-01-16T14:48:04Z chimneys: jackdaniel: hello 2020-01-16T14:48:18Z jackdaniel: you may use them like you've shown -- a:foo accesses symbol foo from package a 2020-01-16T14:48:22Z jackdaniel: and b:foo from package b 2020-01-16T14:48:24Z chimneys: how do i install the new kernel cl-jupyter , is it not installing because of virtual envs 2020-01-16T14:48:25Z jackdaniel: there is no need to import them 2020-01-16T14:48:37Z jackdaniel: hey 2020-01-16T14:48:49Z pjb: dnaeon: (defpackage "YOUR-PACKAGE" (:use "CL" "A" "B") (:shadow "FOO")) (in-package "YOUR-PACKAGE") (+ a:foo b:foo) 2020-01-16T14:50:07Z phoe: dnaeon: you don't need to import them if you use a full package prefix 2020-01-16T14:50:10Z pjb: dnaeon: you can also consider whether those two foos are actually the same. For example, it may be the name of a generic function and a:foo is a method on As, while b:foo is a method on Bs. Then both packages A and B should use a package I that exports FOO and (defgeneric foo (…)). 2020-01-16T14:50:14Z Remavas quit (Remote host closed the connection) 2020-01-16T14:50:16Z pjb: dnaeon: other similar cases exist. 2020-01-16T14:50:20Z phoe: if the package names are long, you can also use package-local nicknames 2020-01-16T14:50:30Z pjb: dnaeon: of course, it may be two entirely different foos, such as cl:car and tesla:car… 2020-01-16T14:50:54Z phoe: so if you have symbols QWERTYUIOP:FOO and ASDFGHJKL:FOO, you can local-nickname the packages to Q and A 2020-01-16T14:50:56Z pjb: reading long (structured) names is not a problem in general. 2020-01-16T14:51:07Z phoe: and refer to these symbols as Q:FOO and A:FOO inside your code. 2020-01-16T14:51:08Z pjb: Typing them is not either, since you have emacs abbrev and auto-complete… 2020-01-16T14:51:38Z jackdaniel squeezes out of the helping crowd 2020-01-16T14:52:01Z chimneys: jackdaniel: there is no crowd it's just me 2020-01-16T14:52:06Z chimneys: and my virtual envs 2020-01-16T14:52:15Z phoe: I actually have no idea how cl-jupyter works 2020-01-16T14:52:37Z chimneys: phoe: but installation is a different matter 2020-01-16T14:52:51Z jackdaniel: chimneys: I know that venv is some clever mechanism to bypass problems with the packaging, toher than that I try to not think about things like this 2020-01-16T14:52:59Z dnaeon: Ok, I was under the impression that if I use `(defpackage my-package (:use :A :B))` then within my package all symbols from `A` and `B` would inherited and cannot fully qualify things such as `A:foo` and `B:foo`. 2020-01-16T14:54:05Z milanj joined #lisp 2020-01-16T14:54:52Z frgo joined #lisp 2020-01-16T14:55:58Z jprajzne_ joined #lisp 2020-01-16T14:55:59Z jprajzne quit (Read error: Connection reset by peer) 2020-01-16T14:56:18Z jprajzne_ is now known as jprajzne 2020-01-16T14:56:23Z dnaeon: Maybe I misread the documentation, let me try these things, thanks all! 2020-01-16T14:56:49Z chimneys: if you don't like to think about it , think what a beginner might be going through who is pasting lisp cmds without understanding them 2020-01-16T14:57:05Z frgo_ joined #lisp 2020-01-16T14:57:29Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-16T14:57:51Z frgo_ quit (Remote host closed the connection) 2020-01-16T14:58:01Z frgo_ joined #lisp 2020-01-16T14:58:59Z Shinmera: it's not his job to help you out with your problem, nor is it his problem. 2020-01-16T14:59:06Z Shinmera: *nor is it his project 2020-01-16T14:59:16Z phoe: chimneys: I actually have no idea how cl-jupyter installation works 2020-01-16T14:59:23Z jprajzne quit (Client Quit) 2020-01-16T14:59:24Z tiwEllien joined #lisp 2020-01-16T14:59:30Z phoe: dnaeon: actually you can do that 2020-01-16T14:59:40Z chimneys: Shinmera: ok 2020-01-16T14:59:42Z frgo quit (Read error: Connection reset by peer) 2020-01-16T14:59:44Z phoe: USEing a package means that you can refer to all of its symbols without qualifying them with the package name 2020-01-16T14:59:46Z jprajzne joined #lisp 2020-01-16T14:59:50Z EvW1 joined #lisp 2020-01-16T15:00:05Z z147 joined #lisp 2020-01-16T15:00:29Z dnaeon: phoe: got it, thanks! 2020-01-16T15:00:33Z chimneys: Shinmera: then it is your job 2020-01-16T15:00:34Z pjb: dnaeon: you can always use symbol qualification. (eq 'foo 'cl-user::foo) #| --> t |# 2020-01-16T15:00:36Z phoe: so e.g. USEing :alexandria means that you can (assoc-value '((1 . :one)) 1) 2020-01-16T15:01:44Z phoe: also, if you use packages A and B, they cannot export symbols with the same names 2020-01-16T15:02:06Z phoe: because then conflicts occur, and you need to explicitly choose one or the other or not use both packages at the same time. 2020-01-16T15:03:09Z pjb: phoe: obviously not, as I showed just above!!! 2020-01-16T15:03:11Z Shinmera: chimneys: you're setting yourself up for disappointment if you think that. 2020-01-16T15:03:13Z phoe: There's also the issue if an USEd package decides to change its export list later on, e.g. because it decides to export new functionalities. It means that sudden use conflicts can arise even when you do absolutely *nothing* - only because a dependency has changed. 2020-01-16T15:03:31Z pjb: If two packages export symbols with the same name, you can use them, shadowing this name! 2020-01-16T15:03:41Z chimneys: Shinmera: enemies of jupyter notebooks 2020-01-16T15:03:43Z phoe: pjb: yes, I meant that by explicitly using one or the other - by means of SHADOW or SHADOWING-IMPORT-FROM 2020-01-16T15:03:48Z phoe: chimneys: you're just rude now 2020-01-16T15:04:11Z phoe: and I don't think that you have a support contract with Shinmera to be able to tell him that it's his job to help you out 2020-01-16T15:04:18Z Shinmera: I think Jupyter is terrible, but that's neither here nor there. 2020-01-16T15:04:50Z phoe: perhaps if no users of cl-jupyter are in here, you could try raising a GitHub issue with the details 2020-01-16T15:04:58Z rtra joined #lisp 2020-01-16T15:05:21Z phoe: I think it'll capture the maintainers' attention more surely than expressing slightly immature behaviour on IRC 2020-01-16T15:07:39Z beach: chimneys: Maybe you have misunderstood the purpose of #lisp. It is not a support channel for newbies. It is a forum for discussing the language, its implementations, libraries, and applications between users of Common Lisp. 2020-01-16T15:08:09Z chimneys: beach: ok but there was no one is #lispcafe talking to me 2020-01-16T15:08:46Z Bike: we do try to help people out, but you get what you pay for 2020-01-16T15:09:38Z galdor: I guess the community is so small everyone ends up here 2020-01-16T15:09:50Z galdor: not enough people in each subgroup to have something sustainable 2020-01-16T15:10:09Z phoe: #clschool is also somewhat active though 2020-01-16T15:10:22Z random-nick joined #lisp 2020-01-16T15:11:33Z montaropdf joined #lisp 2020-01-16T15:11:49Z dlowe: IRC is pretty niche in itself too 2020-01-16T15:12:01Z dlowe: so here you're getting a niche within a niche 2020-01-16T15:12:04Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-01-16T15:13:07Z galdor: are there other general CL communities ? I mean there used to be the pro-lisp mailing list but it's dead 2020-01-16T15:13:41Z galdor: and comp.lang.lisp is a swamp 2020-01-16T15:13:42Z jackdaniel: there are. I think there is a discord server 2020-01-16T15:13:59Z Lycurgus quit (Remote host closed the connection) 2020-01-16T15:14:02Z jackdaniel: there are mailing lists hosted by common-lisp.net 2020-01-16T15:14:21Z jackdaniel: and there are repositoreis on gitlab.common-lisp.net (so you could say that cl.net users form some kind of a community) 2020-01-16T15:14:29Z dlowe: reddit.com/r/lisp has 25k subscribers 2020-01-16T15:14:34Z jackdaniel: right, that too 2020-01-16T15:14:46Z phoe: the Discord server is at https://discord.gg/hhk46CE 2020-01-16T15:14:54Z jackdaniel: there is planet.lisp.org maintained by Xach which aggregates lisp blogs 2020-01-16T15:15:19Z phoe: and comp.lang.list is not a friendly place anymore 2020-01-16T15:16:06Z Lord_of_Life_ joined #lisp 2020-01-16T15:16:17Z jackdaniel: I've never managed to configure usenet client properly, probably I'm too young :) but I've been told I've avoided plenty of bad experience, so :) 2020-01-16T15:17:02Z jack_rabbit joined #lisp 2020-01-16T15:17:38Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-16T15:18:58Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-16T15:19:32Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-16T15:20:19Z scymtym_ joined #lisp 2020-01-16T15:22:37Z scymtym quit (Ping timeout: 260 seconds) 2020-01-16T15:23:11Z pfdietz: comp.lang.lisp! I haven't used usenet in years. Is it all spam now? 2020-01-16T15:23:43Z phoe: mostly 2020-01-16T15:23:58Z pfdietz: It wouldn't be the same without Naggum 2020-01-16T15:24:12Z phoe: with an occasional worthwhile post from Jim Newton who seems to be magically immune to all of the shitposts that happen there 2020-01-16T15:24:33Z heisig quit (Quit: Leaving) 2020-01-16T15:24:43Z nowhere_man joined #lisp 2020-01-16T15:27:04Z frgo_ quit (Remote host closed the connection) 2020-01-16T15:27:33Z frgo joined #lisp 2020-01-16T15:29:03Z moldybits quit (Quit: WeeChat 2.4) 2020-01-16T15:32:06Z frgo quit (Ping timeout: 258 seconds) 2020-01-16T15:33:22Z bitmapper joined #lisp 2020-01-16T15:35:33Z Picantest quit (Ping timeout: 258 seconds) 2020-01-16T15:36:25Z nowhere_man quit (Ping timeout: 268 seconds) 2020-01-16T15:39:40Z Picantest joined #lisp 2020-01-16T15:39:51Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-16T15:40:58Z pjb: and there's http://cliki.net that references all those channels and more… 2020-01-16T15:41:47Z zmv quit (Ping timeout: 268 seconds) 2020-01-16T15:41:55Z dnaeon joined #lisp 2020-01-16T15:42:14Z galdor: cliki is full of obsolete and wrong information infortunately 2020-01-16T15:43:05Z galdor: who owns it btw ? "Stichting Common Lisp Foundation" is unknown to me 2020-01-16T15:43:59Z beach: To you maybe, but not to many others. 2020-01-16T15:44:34Z beach: The people behind it are regulars at ELS and there have been presentations about its purpose, its organization, etc. 2020-01-16T15:45:01Z beach: The have had fundraisers for Common Lisp projects. 2020-01-16T15:45:13Z mingus quit (Read error: Connection reset by peer) 2020-01-16T15:45:56Z mingus joined #lisp 2020-01-16T15:46:11Z beach: s/The/They/ 2020-01-16T15:47:13Z montaropdf: Did someone tried to access http://cl-fundation.org recently? 2020-01-16T15:47:31Z jackdaniel: sure, website says that "It works!" 2020-01-16T15:47:37Z jackdaniel: I guess that means it is fine ;-) 2020-01-16T15:47:47Z jackdaniel: more seriously though, it is surprising that it didn't load 2020-01-16T15:47:48Z galdor: I wasn't aware of them, I do not hear anything about who they are, what they do, etc. 2020-01-16T15:48:15Z jackdaniel: galdor: they among other things host common-lisp.net and services associated with it 2020-01-16T15:48:19Z jackdaniel: i.e gitlab and cliki 2020-01-16T15:48:29Z Nilby quit (Ping timeout: 272 seconds) 2020-01-16T15:49:29Z galdor: it would be nice if they were to post something on planet lisp from time to time 2020-01-16T15:49:53Z galdor: seeing people actually doing things in the CL world is good for morale :) 2020-01-16T15:49:59Z chimneys: who hosts common-lisp.net and cliki 2020-01-16T15:50:17Z jackdaniel: common lisp foundation, did we hit a loop or something? ;-) 2020-01-16T15:50:26Z galdor: common-lisp.net links https://cl-foundation.org/ which is also dead 2020-01-16T15:50:41Z mingus quit (Read error: Connection reset by peer) 2020-01-16T15:50:49Z frgo joined #lisp 2020-01-16T15:50:56Z igemnace quit (Remote host closed the connection) 2020-01-16T15:51:05Z montaropdf: jackdaniel: it is just an update in the matrix ;) 2020-01-16T15:51:19Z jackdaniel: heh 2020-01-16T15:52:07Z chimneys: there are only 3 volunteers mark,erik and mariano 2020-01-16T15:52:15Z smazga joined #lisp 2020-01-16T15:52:52Z jackdaniel: if you chip in with your expertise there will be four. that said they do a tremendous job. you may want to say hi on #common-lisp.net 2020-01-16T15:53:34Z jackdaniel: or "thanks" of course 2020-01-16T15:55:02Z pjb: galdor: YOU are responsible to update the wiki! cliki.net is a wiki, if YOU find someting wrong, YOU must correct it! 2020-01-16T15:55:32Z frgo quit (Ping timeout: 268 seconds) 2020-01-16T15:55:47Z galdor: I guess it is the same things with sending patches, it's all fun and all, then you realize you are mostly alone in it and abandon 2020-01-16T15:55:57Z galdor: which isn't productive, but you get the idea 2020-01-16T15:55:57Z frgo joined #lisp 2020-01-16T15:56:15Z frgo quit (Remote host closed the connection) 2020-01-16T15:56:19Z jackdaniel: well, I often find up to date information on cliki 2020-01-16T15:56:27Z jackdaniel: and sometimes I update it, so I'd say it isn't dead 2020-01-16T15:56:27Z frgo joined #lisp 2020-01-16T15:56:32Z jackdaniel: it just smells funny ;p 2020-01-16T15:56:49Z galdor: next time I find something wrong I'll edit it :) 2020-01-16T15:57:09Z jackdaniel: thank you, I'm sure someone will benefit from it 2020-01-16T15:57:47Z gabiruh joined #lisp 2020-01-16T15:59:06Z easye: chimneys: that volunteer list needs to be updated. flip214 has been putting in a lot of effort as well. 2020-01-16T16:00:02Z chimneys: but the site has only one top admin who control everything? because i see the mainatainer changing 2020-01-16T16:00:14Z Kaisyu joined #lisp 2020-01-16T16:05:23Z jprajzne quit (Quit: jprajzne) 2020-01-16T16:05:44Z jprajzne joined #lisp 2020-01-16T16:06:03Z oni-on-ion joined #lisp 2020-01-16T16:06:27Z Nilby joined #lisp 2020-01-16T16:09:23Z jprajzne quit (Client Quit) 2020-01-16T16:09:48Z jprajzne joined #lisp 2020-01-16T16:10:35Z mingus joined #lisp 2020-01-16T16:14:23Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-16T16:14:28Z montaropdf quit (Quit: See you later) 2020-01-16T16:14:42Z Josh_2 joined #lisp 2020-01-16T16:15:40Z frgo_ joined #lisp 2020-01-16T16:18:58Z frgo quit (Ping timeout: 268 seconds) 2020-01-16T16:22:04Z beach: The description of TRACE in the SBCL manual mentions that "breakpoints" are used when :ENCAPSULATE is NIL. TRACE is can perform actions upon function entry and before function exit, and one possible action is to stop execution (break). 2020-01-16T16:22:06Z beach: But does anyone happen to know how these breakpoints work, and whether these breakpoints are available at other places in the code, and if so, how to set/clear them? 2020-01-16T16:22:45Z beach: s/is can/can/ 2020-01-16T16:23:10Z narimiran quit (Ping timeout: 265 seconds) 2020-01-16T16:23:32Z jprajzne quit (Remote host closed the connection) 2020-01-16T16:24:25Z Nilby: I used things like sb-di:make-breakpoint sb-di:activate-breakpoint in my debugger. I don't really know how they work though. 2020-01-16T16:24:55Z beach: Let me check those out. Thanks. 2020-01-16T16:26:57Z Nilby: I do know you have to set an sbcl specific handler if you want to step through code. 2020-01-16T16:31:07Z ljavorsk_ quit (Ping timeout: 268 seconds) 2020-01-16T16:34:21Z beach: Sure. The stepper documentation mentions that it is "instrumentation based", and for stepping to be available, the DEBUG quality must be greater than all of speed, space, and compilation-speed. 2020-01-16T16:35:12Z beach: I take "instrumentation based" to mean that it also uses "breakpoints". 2020-01-16T16:35:54Z beach: But there does not seem to be any documentation for sb-di:make-breakpoint etc., other than the docstrings. 2020-01-16T16:38:06Z Nilby: True. I'm very very used to that situation though. 2020-01-16T16:39:46Z jprajzne joined #lisp 2020-01-16T16:39:58Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-16T16:40:02Z beach: Ah, there are some comments in the code. 2020-01-16T16:40:29Z Nilby: I probably should have documented what I discoverd about it, but I didn't feel qualified. 2020-01-16T16:41:26Z Nilby: But very few people write debuggers anyway. 2020-01-16T16:41:39Z flamebeard quit 2020-01-16T16:45:19Z karlosz joined #lisp 2020-01-16T16:45:21Z beach: It appears only TRACE uses MAKE-BREAKPOINT. 2020-01-16T16:46:12Z jprajzne quit (Read error: Connection reset by peer) 2020-01-16T16:49:46Z jprajzne joined #lisp 2020-01-16T16:49:58Z Nilby: Thankfully the code in debug-int.lisp has a lot of nice comments. I sometimes wish they were in the docstrings though. 2020-01-16T16:50:07Z beach: AHA, the comment in the stepper says it works differently. It says that the compiler inserts "STEP-CONDITION signalling [sic] forms into code compiled at high debug settings, and having a handler for them at the toplevel." 2020-01-16T16:50:41Z dale joined #lisp 2020-01-16T16:50:45Z beach: So it does not use breakpoints. 2020-01-16T16:51:24Z Nilby: I didn't think it did, otherwise I would have had to handle tracing in the debugger. 2020-01-16T16:53:47Z karlosz: Nilby: docstrings don't usually describe implementation details 2020-01-16T16:54:17Z beach: Nilby: Not quite sure what you mean by that, but I think I have enough information for the "Previous work" section of my paper. 2020-01-16T16:54:47Z kajo quit (Ping timeout: 260 seconds) 2020-01-16T16:57:35Z Nilby: karlosz: Right, but when you have a huge comment in the code, and no docstring in an external interface function, I wish they would have just copied a few lines into the docstring. I feel like old code didn't want to bloat memeory with docstrings. 2020-01-16T16:59:16Z karlosz: yes, it's understandable given the compiler was written in 1985-1991 2020-01-16T17:00:05Z karlosz: there's a feature called sb-doc that will even remove docstrings from standard library functions (and extensions etc.) because it will save memory in the core image 2020-01-16T17:00:17Z beach: Wow. 2020-01-16T17:01:20Z Nilby: I want the opposite function. Put all the docstrings back, even the ones that aren't there. 2020-01-16T17:01:49Z _death: just (require :sb-contributor) 2020-01-16T17:02:16Z karlosz: i mean you need the source to understand the implementation anyway, i don't see why its advantageous ot have it in a docstring 2020-01-16T17:04:02Z brown121408 quit (Ping timeout: 240 seconds) 2020-01-16T17:04:19Z brown121408 joined #lisp 2020-01-16T17:04:45Z karlosz: actually a lot of the implementation details are in a manual, rather than a docstring ;) 2020-01-16T17:05:53Z jprajzne quit (Read error: Connection reset by peer) 2020-01-16T17:06:13Z beach: There is an "internals" documentation, but it doesn't mention breakpoints as far as I can tell. 2020-01-16T17:06:58Z Nilby: Not understanding doesn't seem to stop me. Not knowing what of types arguemnts should be does though. Although I guess I could ask the compiler's type inference. :-) 2020-01-16T17:07:17Z pjb: beach: instrumenting the code with signal forms is a nifty way to do it! 2020-01-16T17:07:35Z Nilby: death: Funny, I don't seem to have that package. 2020-01-16T17:07:57Z pjb: Perhaps I could redo cl-stepper with this technique, it seems a lighter instrumentation. 2020-01-16T17:08:09Z karlosz: beach: that's because that's not a real internals documentation manual 2020-01-16T17:08:14Z karlosz: the real one is here: https://cmucl.org/docs/internals/design.html#Tracing-and-Breakpoints 2020-01-16T17:08:26Z karlosz: and yes, it documents the breakpoint functionality 2020-01-16T17:08:28Z beach: karlosz: AHA! Thanks! 2020-01-16T17:08:55Z karlosz: SBCL's compiler is just the CMUCL compiler without the documentation 2020-01-16T17:08:57Z karlosz: its absurd 2020-01-16T17:09:17Z Nilby: karloz: Wow. Thanks! I didn't know about that. 2020-01-16T17:09:42Z thecoffemaker quit (Read error: Connection reset by peer) 2020-01-16T17:09:47Z jprajzne joined #lisp 2020-01-16T17:09:49Z thecoffemaker joined #lisp 2020-01-16T17:10:38Z karlosz: yep. for the next SBCL release i added a new section called "Advanced Compiler Use and Efficiency Hints" which says to read the CMUCL user manual because they describe how to optimize code for the compiler (which hasn't changed) in 100x more detail 2020-01-16T17:11:18Z karlosz: with a whopping 50 pages of optimization tricks and descriptions of how the compiler works 2020-01-16T17:11:33Z karlosz: and the cmucl internals manual is ~300 pages of that 2020-01-16T17:16:31Z davepdotorg quit (Ping timeout: 272 seconds) 2020-01-16T17:18:29Z brown121407 joined #lisp 2020-01-16T17:18:29Z brown121408 quit (Read error: Connection reset by peer) 2020-01-16T17:20:12Z beach: Given that SBCL has these breakpoints, it is very surprising that no real source-level interactive debugger exists for SBCL. Unless of course, I am missing something obvious. 2020-01-16T17:21:01Z beach: I mean, SLIME could provide a key sequence to set a breakpoint in the code indicated by the editor point. 2020-01-16T17:21:29Z Nilby: I'm working on it right now in the 17th alternate universe. 2020-01-16T17:21:44Z beach: Great! 2020-01-16T17:22:35Z Nilby: Too bad were stuck in this crap timeline. 2020-01-16T17:24:16Z karlosz: beach: there does? 2020-01-16T17:24:16Z zmv joined #lisp 2020-01-16T17:24:51Z zmt00 quit (Quit: Leaving) 2020-01-16T17:25:19Z karlosz: i mean the functionality is all there. i don't think its the compilers job to deal with things like have source level interaction 2020-01-16T17:25:34Z karlosz: i think the reason there wasn't any in the compiler is because in CMUCL hemlock provided it 2020-01-16T17:25:52Z beach: That sounds plausible. 2020-01-16T17:27:29Z karlosz: in any case, it's definitely within the domain of SLIME to add something like that 2020-01-16T17:27:43Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-16T17:27:46Z karlosz: unclear how to do source level interaction without an editor interface to the compiler 2020-01-16T17:27:48Z karlosz: to me 2020-01-16T17:28:01Z beach: Absolutely. 2020-01-16T17:28:20Z beach: That's why I suggested SLIME. Or do you mean something else? 2020-01-16T17:28:48Z zmt00 joined #lisp 2020-01-16T17:29:05Z frgo_ quit (Ping timeout: 268 seconds) 2020-01-16T17:29:31Z karlosz: oh yes i meant SLIME 2020-01-16T17:30:04Z karlosz: i think hemlock does provide integration 2020-01-16T17:30:33Z beach: I am looking at the Hemlock documentation, and I don't see it. 2020-01-16T17:30:39Z karlosz: speaking of CMUCL, the next release of SBCL will have whole program optimization a la CMUCL block-compilation 2020-01-16T17:31:18Z karlosz: so you can finally have your unboxed floating point calls and returns where you please 2020-01-16T17:31:29Z beach: Great! 2020-01-16T17:31:30Z rtra quit (Quit: WeeChat 2.3) 2020-01-16T17:32:21Z Xach: I'm sick of local-only optimizations so this is great news 2020-01-16T17:32:36Z beach: Anyway, thanks for all the information. Time for me to go have dinner with my (admittedly small) family and then spend time with her. 2020-01-16T17:32:50Z HiRE: pz beach 2020-01-16T17:32:52Z Nilby: Does cmu compile 64 bit yet? 2020-01-16T17:32:59Z HiRE: I was actually wondering how to effectively debug CL in SBCL 2020-01-16T17:33:07Z HiRE: it seems gross and messy 2020-01-16T17:33:09Z karlosz: yes, cmucl has done amd64 since 2004 2020-01-16T17:33:20Z _death: what is meant by "whole-program" in this context? i.e. how global is it? 2020-01-16T17:33:28Z karlosz: as global as you want it to be 2020-01-16T17:33:40Z karlosz: on a file level granualirty 2020-01-16T17:33:51Z karlosz: at least, a file level granularity for the next release 2020-01-16T17:34:02Z karlosz: CMUCL has better granularity though 2020-01-16T17:34:19Z karlosz: its amazing how much stuff they had that SBCL doesn't 2020-01-16T17:34:51Z karlosz: it's a shame because they've faded away from awareness over time 2020-01-16T17:35:22Z karlosz: i'll write a post about this Real Soon 2020-01-16T17:35:25Z scymtym__ joined #lisp 2020-01-16T17:35:28Z karlosz: the block compilation i mean 2020-01-16T17:35:30Z scymtym_ quit (Remote host closed the connection) 2020-01-16T17:35:52Z jprajzne quit (Read error: Connection reset by peer) 2020-01-16T17:36:55Z z3n3 joined #lisp 2020-01-16T17:38:06Z _death: cool, will wait for it ;) 2020-01-16T17:39:11Z hhdave quit (Quit: hhdave) 2020-01-16T17:40:03Z jprajzne joined #lisp 2020-01-16T17:40:30Z varjag joined #lisp 2020-01-16T17:41:16Z Nilby: Thanks karlosz for removing my excuses for ignorance. :) 2020-01-16T17:41:35Z z3n3 quit (Client Quit) 2020-01-16T17:41:57Z z3n3 joined #lisp 2020-01-16T17:42:02Z scymtym__ quit (Ping timeout: 260 seconds) 2020-01-16T17:42:20Z asarch joined #lisp 2020-01-16T17:44:15Z dyelar quit (Quit: Leaving.) 2020-01-16T17:44:42Z asarch: With Postmodern, why don't: (query session :select "foo,bar" :from "baz" :where "id = 32424")? 2020-01-16T17:44:51Z asarch: Wouldn't be more OOP a la CLOS? 2020-01-16T17:45:45Z z3n3 quit (Client Quit) 2020-01-16T17:45:47Z asarch: We could even do: (query nasa-session ...) ... (query ibm-session ...) ... (query 4chan-session ...) 2020-01-16T17:45:59Z z3n3 joined #lisp 2020-01-16T17:46:34Z cosimone joined #lisp 2020-01-16T17:46:37Z z3n3 quit (Client Quit) 2020-01-16T17:46:55Z z3n3 joined #lisp 2020-01-16T17:47:21Z slyrus_ joined #lisp 2020-01-16T17:49:47Z z3n3 quit (Client Quit) 2020-01-16T17:50:06Z slyrus quit (Ping timeout: 258 seconds) 2020-01-16T17:50:59Z dyelar joined #lisp 2020-01-16T17:54:12Z efm joined #lisp 2020-01-16T17:57:16Z frgo joined #lisp 2020-01-16T18:01:54Z kajo joined #lisp 2020-01-16T18:03:29Z jbayardo joined #lisp 2020-01-16T18:06:55Z m00natic quit (Remote host closed the connection) 2020-01-16T18:07:12Z SmallBrain joined #lisp 2020-01-16T18:08:20Z ngqrl joined #lisp 2020-01-16T18:09:54Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-16T18:10:59Z pfdietz: The SBCL compiler is the CMUCL compiler, without the bugs. 2020-01-16T18:12:01Z pfdietz: And with years of further extensions and tweaks. 2020-01-16T18:13:35Z SmallBrain: Can I ask a very stupid question? 2020-01-16T18:13:59Z ggole quit (Quit: Leaving) 2020-01-16T18:15:23Z phoe: pfdietz: and with proper bootstrappin' 2020-01-16T18:15:24Z jprajzne quit (Quit: jprajzne) 2020-01-16T18:15:25Z phoe: SmallBrain: sure, ask away 2020-01-16T18:16:16Z pfdietz: I don't think people realize the state of the compiler at the fork. It was not very mature. 2020-01-16T18:16:59Z phoe: asarch: doesn't really look OOP to me 2020-01-16T18:17:20Z karlosz: pfdietz: i will admit that i tend to have rose-colored lenses looking to the past. but the point on documentation and ease of reading the source still stands 2020-01-16T18:18:26Z pjb: pfdietz: really? It was praised! 2020-01-16T18:18:50Z pjb: with its name "Python" and all that… 2020-01-16T18:18:51Z SmallBrain: I've never written any code in my life before and figured "why not start with Lisp?" so I downloaded Portacle and read through the tutorial and at some point it said: "execute-extended-command has be rebound to the button" where is that? 2020-01-16T18:19:28Z pjb: SmallBrain: this is an emacs thing. 2020-01-16T18:19:39Z pjb: SmallBrain: an emacs is a program that has a particular structure. 2020-01-16T18:19:47Z jprajzne joined #lisp 2020-01-16T18:20:12Z pjb: SmallBrain: basically, it's an event loop that reads the next character, and looks up a table (key map) to find a function (command) to be executed. 2020-01-16T18:20:21Z pfdietz: My schtick is torturing lisp compilers until they confess. SBCL's compiler is quite resistant now. CMUCLs? It breaks almost immediately, even now. 2020-01-16T18:20:39Z pjb: SmallBrain: the nice thing is that you can configure this key map table at any time, during the execution of the program. 2020-01-16T18:20:59Z pjb: SmallBrain: now, is the symbolic name of a key (specifically a X11 keysym). 2020-01-16T18:21:06Z karlosz: pfdietz: yeah, from reading the source it seems that your bugs provoked a lot of backporting of sbcl fixes into cmucl by gerd 2020-01-16T18:21:21Z karlosz: until about 2003 2020-01-16T18:21:40Z pjb: SmallBrain: if you have a key labelled on your keyboard, you can map the keycode of this key to the X11 key sym, and then you can map in emacs this keysym to some command, such as execute-extended-command. 2020-01-16T18:22:06Z karlosz: makes you wonder if it wasn't forked, given that people kept porting patches to and from CMUCL constantly until about 2004 when it became a ghost town there 2020-01-16T18:22:10Z pjb: SmallBrain: without such a key, it is customary, and the default, to use the key combination Meta-x (noted as M-x). 2020-01-16T18:22:39Z SmallBrain: pjb: ah, the problem is, I don't have that key and portacle has Meta-x rebound to something else 2020-01-16T18:22:51Z pjb: SmallBrain: the Meta keysym is usually mapped from a key labelled Meta, or if not present, a key labelled Command, Windows, or evne Alternate or Option. 2020-01-16T18:23:05Z karlosz: and, sometimes the patches when ported to cmucl would accrue improvements and those improvements wouldn't make it back 2020-01-16T18:23:18Z karlosz: or a bug would get fixed in one and be refixed a few years later in the other 2020-01-16T18:23:19Z pjb: SmallBrain: the mesasge may be misleading, because the basic operation is adding a new key binding, not removing the old one. 2020-01-16T18:24:01Z pjb: SmallBrain: so M-x might still work. If not, the meta key is also mapped by emacs from ESC escape. But since ESC is not a modifier, you have to type it separately, first ESC, then x. 2020-01-16T18:24:02Z SmallBrain: pjb: so does M-x do both? 2020-01-16T18:24:15Z phoe: SmallBrain: you mean portacle tutorial? 2020-01-16T18:24:27Z SmallBrain: pjb: I will try that 2020-01-16T18:24:38Z pjb: SmallBrain: you can also see where the execute-extended-command is bound, by typing C-h w execute-extended-command RET 2020-01-16T18:24:58Z SmallBrain: phoe: yes, I just downloaded it because it seemed less of a hassle than configuring everything myself 2020-01-16T18:25:08Z pjb: it will say you something in the minibuffer such as: execute-extended-command is on , , M-x 2020-01-16T18:25:40Z pjb: and inversely, you can know what command is bound to a key by typing C-h k followed by the key. 2020-01-16T18:25:48Z pjb: So C-h k M-x 2020-01-16T18:25:49Z SmallBrain: pjb: i tried that and it literally said: "execute-extended-command is bound to the key" 2020-01-16T18:25:53Z pjb: or C-h k ESC x 2020-01-16T18:26:05Z pjb: SmallBrain: well this is not too good… 2020-01-16T18:26:33Z SmallBrain: pjb: and google only gave me stockphotos of a return key where "execute" was written on it 2020-01-16T18:26:50Z Nilby: If you want you can probably type something like: X global-set-key execute-extended-command 2020-01-16T18:26:53Z pjb: SmallBrain: go to the scratch buffer, and type: (global-set-key (kbd "M-x") 'execute-extended-command) C-x C-e 2020-01-16T18:26:54Z phoe: SmallBrain: could you link me that tutorial? 2020-01-16T18:27:30Z gareppa joined #lisp 2020-01-16T18:27:43Z pjb: SmallBrain: you could also do that in the minibuffer with M-: (global-set-key (kbd "M-x") 'execute-extended-command) RET 2020-01-16T18:28:18Z SmallBrain: phoe: uh... its a file from within portacle, not online 2020-01-16T18:28:21Z pjb: Nilby: if the command execute-extended-command is only bound to , then ESC x is not bound to it, and won't do anything. 2020-01-16T18:28:41Z SmallBrain: pjb: is that how all key can be rewritten? 2020-01-16T18:28:46Z SmallBrain: keys* 2020-01-16T18:29:08Z pjb: SmallBrain: yes, you can add a key binding with global-set-key, or with local-set-key when you want it only in the current buffer. 2020-01-16T18:29:09Z phoe: SmallBrain: ooooh! Did you fire up the Emacs tutorial? 2020-01-16T18:29:26Z SmallBrain: phoe: yes 2020-01-16T18:29:50Z pjb: SmallBrain: you can have a bunch of global-set-key forms in your ~/.emacs to customize emacs as you wish. 2020-01-16T18:29:51Z phoe: execute-extended-command is equivalent to M-x 2020-01-16T18:29:56Z SmallBrain: pjb: could I set it to f8 for example? that one doesn't seem to do anything yet 2020-01-16T18:29:58Z phoe: or, as some people prefer to say it, Alt+X 2020-01-16T18:30:00Z Shinmera: M-x is rebound to a better version of the normal M-x in portacle. 2020-01-16T18:30:01Z pjb: phoe: not when the binding has been removed! 2020-01-16T18:30:14Z phoe: pjb: OK, that's correct 2020-01-16T18:30:40Z slyrus joined #lisp 2020-01-16T18:30:54Z Shinmera: Anyway, you don't need to read the Emacs tutorial. All the necessary terminology and keybindings are explained in the Portacle help buffer. 2020-01-16T18:31:14Z Shinmera: Due to portacle's customisation the emacs tutorial is more likely to be confusing than not 2020-01-16T18:31:17Z Shinmera: As shown here. 2020-01-16T18:31:25Z pjb: Shinmera: so perhaps portable should issue a message saying that "execute-extended-command has been rebound to the button" is not alarming because there's still a M-x working the same or better? 2020-01-16T18:31:49Z pjb: I would advise against using portable, and any other similar packages. 2020-01-16T18:31:59Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-16T18:31:59Z SmallBrain: Shinmera: I figured i couldn't hurt because i had never used any program like that 2020-01-16T18:31:59Z Shinmera: Why would it issue a message for every change it made 2020-01-16T18:32:17Z pjb: Shinmera: to inform the user. 2020-01-16T18:32:35Z pjb: If you tell me that M-x doesn't work, it's very alarming to me, and I guess to any emacs user. 2020-01-16T18:32:44Z Shinmera: It does work 2020-01-16T18:32:52Z Shinmera: I don't know which part tells you it doesn't. 2020-01-16T18:33:06Z SmallBrain: pjb: the tutorial said too that M-x was rebound, I just couldn't find any "execute" key 2020-01-16T18:33:08Z Shinmera: Not one I wrote, in any case. 2020-01-16T18:33:09Z phoe: or rather just mention that "if you want to use the vanilla emacs tutorial - be aware that it will not be useful, since Portacle was customized compared to the vanilla emacs and the tutorial won't cover that" 2020-01-16T18:33:14Z pjb: the part that says that execute-extended-command is not bound to it… 2020-01-16T18:33:27Z phoe: since that's the hole that SmallBrain seems to have fallen into 2020-01-16T18:33:54Z Shinmera: I'd rather just nuke the tutorial altogether. 2020-01-16T18:33:57Z phoe: I can imagine a situation where someone downloads portacle, fires up the default tutorial, and gets stuck there because the tutorial doesn't apply to emacs 2020-01-16T18:34:00Z phoe: or that 2020-01-16T18:34:24Z pjb: SmallBrain: so, the thing is that is the name of a virtual key (a keysym), not a physical key identified by a keycode. 2020-01-16T18:35:00Z pjb: SmallBrain: if you are on X, you can map some physical key you are not currently using, to the keysym, my editing a xmodmap file. 2020-01-16T18:35:15Z SmallBrain: I think the tutorial is fine as it is, it was probably just not written with the thought that someone as clueless as I could try it... 2020-01-16T18:35:59Z SmallBrain: pjb: i will try to re-map it then 2020-01-16T18:37:16Z pjb: SmallBrain: for example, if the keysym is mapped from the keycode 111, and you don't use it, you could map it to By replacing the line: keycode 111 = Pause Break by keycode 111 = Execute in ~/.xmodmap and reloading it with xmodmap ~/.xmodmap 2020-01-16T18:37:59Z pjb: SmallBrain: you could then scratch the Pause label and paint a new Execute label, or just erase all labels and remember them from key position (use a Das Keyboard blank keyboard or similar). 2020-01-16T18:38:26Z pjb: SmallBrain: Alternatively get yourself a SpaceCadet keyboard with all those funny key labels :-) 2020-01-16T18:38:46Z karlosz quit (Quit: karlosz) 2020-01-16T18:38:55Z phoe: SmallBrain: not really 2020-01-16T18:39:14Z phoe: it wasn't written with the thought that one could run it on a heavily modified emacs\ 2020-01-16T18:39:45Z pjb: SmallBrain: but the thing is that with portable, execute-extended-command is not useful, since it's replaced by another command. Try: C-h k M-x to see which one. So you can just forget about the key. 2020-01-16T18:39:48Z william1 joined #lisp 2020-01-16T18:40:04Z phoe: I suggest that, if you want to go with the tutorial, you download the vanilla emacs and do the tutorial there 2020-01-16T18:40:32Z phoe: this way, you'll avoid the inspecting and rebinding mess that pjb is suggesting now, and you'll go straight to learning emacs instead. 2020-01-16T18:40:48Z pjb: Yes, avoid portacle. 2020-01-16T18:40:49Z phoe: since I don't think you want to learn how to turn portacle into vanilla emacs - you want to learn emacs instead 2020-01-16T18:41:11Z orivej joined #lisp 2020-01-16T18:41:38Z jprajzne quit (Ping timeout: 240 seconds) 2020-01-16T18:41:40Z phoe: and I'll disagree, portacle is good enough when you don't want to invest your time and set up your own emacs installation for whatever reason and want to just hack some lisp. 2020-01-16T18:41:49Z SmallBrain: was it perhaps masochistic to try to learn programming with LISP as first language over all? 2020-01-16T18:42:28Z pjb: SmallBrain: no, it's really simple. But some people want to load a ton of pre-configured tools on newbies. This is not a good idea. 2020-01-16T18:42:36Z phoe: I know some people who attempted and achieved that, so the anecdotic proof is there 2020-01-16T18:42:37Z SmallBrain: I mean I want to learn Lisp, but most people suggested I start with Python or Javascript 2020-01-16T18:42:49Z pjb: SmallBrain: it's better to let you use your own editor, take a CL implementation, and run it in a terminal. 2020-01-16T18:43:11Z phoe: take into account language popularity though, python and JS are hundreds+ of times more popular than CL 2020-01-16T18:43:29Z Josh_2: very sad :() 2020-01-16T18:43:34Z phoe: it's possible to learn programming by doing Lisp, and there's one book that was written exactly for that reason 2020-01-16T18:43:40Z phoe: minion: tell SmallBrain about gentle 2020-01-16T18:43:40Z chimneys: python is even more popular than js 2020-01-16T18:43:40Z minion: SmallBrain: please look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 2020-01-16T18:43:46Z pjb: SmallBrain: after a week or so, you'll be fed up typing (load "my-source.lisp") in the REPL, so you'll be ready (ie. you will understand what and why) to use emacs and tools to integrate the editor with the CL implementation. 2020-01-16T18:43:54Z Josh_2: phoe: exactly, that was the first programming book I read 2020-01-16T18:44:27Z chimneys: SmallBrain: no just learn lisp in one hour that "gentle" tutorial is too big and rough, didn't waste time. In fact I am learning lisp from derek banas youtube tutoiral 2020-01-16T18:44:39Z phoe: one sec, let me do a thing 2020-01-16T18:44:47Z chimneys: https://www.youtube.com/watch?v=ymSq4wHrqyU 2020-01-16T18:44:49Z ChanServ has set mode +o phoe 2020-01-16T18:44:57Z phoe has set mode +b *!*eo@unaffiliated/hortiel 2020-01-16T18:44:57Z chimneys [~phoe@2001:470:64f1:1:dc52:a0ff:fe71:ae52] has been kicked from #lisp by phoe (See you) 2020-01-16T18:45:01Z ChanServ has set mode -o phoe 2020-01-16T18:45:09Z phoe: there, sorry for the trouble 2020-01-16T18:45:31Z pjb: SmallBrain: and similarly, emacs is very big so as a newbie, you could easily be overwhelmed. The thing with emacs is to start with the "bare" emacs, and to install and use emacs packages when you start feeling the need for them. Not pre-installing them, because then you won't understand what you did and why. And be prepared: you will never finish learning emacs, a lifetime wouldn't be enough! 2020-01-16T18:45:45Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-16T18:45:49Z pjb: SmallBrain: you will only wish you had started using emacs earlier. Like, pre-school. 2020-01-16T18:46:14Z SmallBrain: sounds exciting 2020-01-16T18:46:19Z gareppa quit (Quit: Leaving) 2020-01-16T18:47:00Z phoe: SmallBrain: the way pjb is suggesting is actually the long one and AFAIK portacle attempts to be a shortcut for it. common lisp and emacs are pretty closely tied to each other by means of an IDE package called Slime. 2020-01-16T18:47:10Z Shinmera: pjb: That's just, like, your opinion, man 2020-01-16T18:47:37Z phoe: and Slime is basically a requirement to utilize what's actually good about Lisp - the fact that it's an interactive and image-based language 2020-01-16T18:47:48Z pjb: I see more problems with using pre-packaged and pre-configured systems. 2020-01-16T18:47:50Z SmallBrain: phoe: I heard of Slime, its in portacle too 2020-01-16T18:47:57Z pjb: Notably, people don't learn with them. 2020-01-16T18:48:05Z Shinmera: pjb: That's just, like, your opinion, man 2020-01-16T18:48:11Z phoe: image-based, meaning that you run Lisp once and then program by means of mutating that image 2020-01-16T18:48:22Z pjb: That's what I witness on irc! 2020-01-16T18:48:41Z pjb: Also, portable is not the first such systems. There was others before. They all dired. 2020-01-16T18:48:44Z pjb: died. 2020-01-16T18:48:49Z SmallBrain: phoe: I'l need more experience before I can accurately understand what that means 2020-01-16T18:48:57Z phoe: interactive, meaning that you are able to converse with it 2020-01-16T18:49:05Z phoe: okay, let me use other words 2020-01-16T18:49:30Z phoe: many other languages work by the means of writing your program in a text file, running it through a compiler, and executing the resulting program 2020-01-16T18:49:42Z SmallBrain: phoe: what do you mean by "image-based"? 2020-01-16T18:49:45Z phoe: and then, if you want to change anything else, you need to repeat the whole process 2020-01-16T18:49:52Z orivej quit (Ping timeout: 268 seconds) 2020-01-16T18:50:00Z phoe: Lisp is different - you run Lisp once, and it stays in the background all the time 2020-01-16T18:50:14Z SmallBrain: phoe: I am aware of that, lisp tells immediately if something is wrong 2020-01-16T18:50:29Z pjb: Well, background when you use it in emacs, but it's actually in the foreground. 2020-01-16T18:50:42Z phoe: the image is the full contents of what is available in Lisp 2020-01-16T18:51:04Z phoe: and you program by changing these contents - for example, if you define some new functions, you add some new stuff to the Lisp image 2020-01-16T18:51:23Z phoe: if you tell Lisp that this previously defined function should instead do another thing, you modify stuff in the Lisp image 2020-01-16T18:51:34Z phoe: if you decide to remove some functions, you remove stuff from the Lisp image 2020-01-16T18:52:05Z phoe: and you do all of this without ever turning it off - unless you screw something up so badly that a restart is required (; 2020-01-16T18:52:29Z phoe: that's why it's interactive - you converse with the Lisp image by telling it to add X or change Y or remove Z or run a piece of code 2020-01-16T18:52:39Z jxy quit (Quit: leaving) 2020-01-16T18:52:48Z phoe: or that it should tell you what's going on in a particular place of the system 2020-01-16T18:53:02Z SmallBrain: without having to close the compiler, and rewriting everything in the text file and running it through the compiler again, only to find out that something is wrong 2020-01-16T18:53:16Z phoe: yes, that means that the "feedback cycle" is really quick 2020-01-16T18:53:34Z phoe: if you screwed up while writing a function, you only need to fix and recompile that function 2020-01-16T18:53:49Z phoe: usually it's instantaneous 2020-01-16T18:53:58Z phoe: and then you can re-run whatever code you were running, and keep on coding 2020-01-16T18:54:10Z phoe: you don't need to hit the Build button and then wait for the compiler to boot up 2020-01-16T18:54:12Z dnaeon joined #lisp 2020-01-16T18:54:22Z phoe: since the compiler is already booted up, and available in the memory 2020-01-16T18:54:29Z phoe: waiting for stuff to munch on 2020-01-16T18:54:32Z ebrasca: Hi 2020-01-16T18:54:36Z SmallBrain: so does that mean the overall coding process is faster than with other languages? 2020-01-16T18:54:54Z phoe: I find it to be faster, yes 2020-01-16T18:55:04Z phoe: debugging is also faster 2020-01-16T18:55:10Z phoe: because of the interactive part, again 2020-01-16T18:55:23Z zmv quit (Remote host closed the connection) 2020-01-16T18:55:44Z dnaeon: hey folks, can someone please explain the following behaviour of `defpackage` when used along with Quicklisp and ASDF? https://gist.github.com/dnaeon/5018d1e5ebbc22a59f67a8e1b6a6ef35 2020-01-16T18:55:58Z phoe: 2020-01-16T18:56:25Z phoe: the fact that Lisp can look into its own self pretty deeply is very fun - the debugger plus the inspector are a powerful combo 2020-01-16T18:56:35Z phoe: usually when a language screws up, you get a textual stacktrace 2020-01-16T18:56:45Z Xach: dnaeon: :USE and :IMPORT-FROM are about how you type symbol names and if they require prefixes or not 2020-01-16T18:56:56Z Xach: dnaeon: it does not have much to do with loading software (usually) 2020-01-16T18:57:12Z phoe: slime makes it possible to interactively inspect the stack and see the values of the local variables and the contents of these values and the contents of the contents of these values and so on. 2020-01-16T18:57:47Z pjb: SmallBrain: the emacs description I gave you above, where you can modify the keymap bindings in the program that is currently runing, actually it's based on an emacs lisp image-based development scheme. The idea is that you have a program, (a bunch of functions), and you can add, remove or replace functions while the program is running, as well as inspecting the data and of course modifying the data while the program is running. 2020-01-16T18:57:56Z phoe: dnaeon: USE and IMPORT-FROM make symbols accessible without typing the package prefix 2020-01-16T18:58:10Z phoe: so you can do (-> ...) instead of (arrows:-> ...) 2020-01-16T18:58:11Z pjb: SmallBrain: so when you program in an image-based system, you are actually modifying the running program. 2020-01-16T18:58:22Z phoe: the latter will always work whenever the ASDF system is loaded 2020-01-16T18:58:26Z Xach: dnaeon: asdf system definitions control how software and its prerequisites are loaded 2020-01-16T18:58:34Z amerlyq quit (Quit: amerlyq) 2020-01-16T18:58:39Z Xach: quicklisp automates fetching libraries you don't have locally available 2020-01-16T18:58:40Z phoe: the former will only work if you import the symbol in question 2020-01-16T18:58:51Z jonatack joined #lisp 2020-01-16T18:58:56Z SmallBrain: And that book that was linked further up, does it contain something like a list of possible formulas for Lisp-commands? or would that be a sisypho-task? 2020-01-16T18:59:05Z pjb: SmallBrain: of course, such a system doesn't only contain a compiler. At least, it will contain either an emacs (event loop -> key -> function), or a REPL = read eval print loop: (loop (print (eval (read)))). 2020-01-16T18:59:20Z phoe: SmallBrain: Lisp-commands, do you mean Common Lisp commands or commands for emacs? 2020-01-16T18:59:27Z cosimone quit (Quit: Quit.) 2020-01-16T18:59:33Z SmallBrain: pjb: How do I get from the written text to a separate executable at the end? 2020-01-16T18:59:37Z phoe: it contains an overview of most of Common Lisp 2020-01-16T18:59:58Z Odin-: Lisp doesn't usually do executables. 2020-01-16T18:59:59Z pjb: SmallBrain: but you can have all kind of features implemented in an image based system, including an editor such as an emacs (which is the case for GNU emacs using emacs lisp, or for example Hemlock implemented in Common Lisp), and other applications. 2020-01-16T19:00:03Z phoe: SmallBrain: you usually don't need to get from the written text to a separate executable 2020-01-16T19:00:06Z Xach: wellllll 2020-01-16T19:00:11Z phoe: Odin-: false 2020-01-16T19:00:16Z phoe: https://github.com/Shinmera/deploy 2020-01-16T19:00:25Z Xach: executables are one thing that you can make but it isn't always the main thing like it is in other environments 2020-01-16T19:00:30Z phoe: SmallBrain: if you want to program, there's no need to create executables whatsoever 2020-01-16T19:00:36Z dnaeon: Xach: phoe: in general that would mean that any dependency defined in my ASDF system will be available to my packages using the fully-qualified package path, and using `:USE` or `:IMPORT-FROM` within `defpackage` is more like a convenience, isn't it? e.g. whether you need just some symbols imported or inherit all of them from a given package? 2020-01-16T19:00:39Z SmallBrain: phoe: I was hoping for something like explanations for formulas like "if-then-else" 2020-01-16T19:00:48Z Odin-: phoe: There was a "usually" in there. :p 2020-01-16T19:00:48Z phoe: SmallBrain: yes, the book contains that 2020-01-16T19:00:49Z Xach: dnaeon: right 2020-01-16T19:00:58Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-16T19:00:58Z phoe: Odin-: okay, I understand now 2020-01-16T19:01:08Z SmallBrain: thank god 2020-01-16T19:01:09Z dnaeon: Xach: got it, thanks! 2020-01-16T19:01:14Z phoe: SmallBrain: that book contains explanations for such basics, and many other things in the language 2020-01-16T19:01:15Z pjb: SmallBrain: this is a question of delivering executable. Nowadays, we mix file-based development with image-based development, by editing files saved on the file system, outside of the image, and constantly being compiling and loading those files. We can do that because our computers have become very fast, so we can recompile and load interactively. 2020-01-16T19:01:39Z mangul quit (Ping timeout: 272 seconds) 2020-01-16T19:01:39Z phoe: in many other languages, making executables is the only way to interact with the programs written in these languages 2020-01-16T19:01:42Z pjb: SmallBrain: so since the program is saved in files, once it's completed and debugged, we can use those files to generate an executable. 2020-01-16T19:01:46Z phoe: thank goodness that Lisp doesn't have that limitation 2020-01-16T19:01:55Z rippa joined #lisp 2020-01-16T19:01:57Z phoe: and your program can be invoked fully from the Lisp REPL, without ever needing to leave it 2020-01-16T19:02:10Z brown121407 joined #lisp 2020-01-16T19:02:16Z pjb: SmallBrain: it can be either by loading them in an image, and saving it as an executable image (most cl implementations do that), or compiling them and linking them (eg. with ecl). 2020-01-16T19:02:36Z cosimone joined #lisp 2020-01-16T19:02:49Z pjb: SmallBrain: but you can also deliver lisp programs in other ways, eg. as sources, or as fasl file (ie. compiled files that can be loaded and run later). 2020-01-16T19:03:00Z Xach: hotel clifornia 2020-01-16T19:03:11Z ChanServ has set mode +o phoe 2020-01-16T19:03:18Z Xach: hey now 2020-01-16T19:03:21Z rwcom7 joined #lisp 2020-01-16T19:03:21Z Xach: it was a good joke! 2020-01-16T19:03:22Z pjb: Xach: starting a hotel management system in CL? 2020-01-16T19:03:31Z phoe has set mode -b *!*eo@unaffiliated/hortiel 2020-01-16T19:03:39Z ChanServ has set mode -o phoe 2020-01-16T19:04:04Z phoe: Xach: you got the goosebumps, didn'tcha 2020-01-16T19:05:11Z SmallBrain: alright, I can't thank you all enough, I was about to give up since I had been sitting at this problem since yesterday 2020-01-16T19:05:34Z rwcom quit (Ping timeout: 265 seconds) 2020-01-16T19:05:34Z rwcom7 is now known as rwcom 2020-01-16T19:06:09Z Xach: SmallBrain: i find it's a real help to ask people for help and get answers in real time. 2020-01-16T19:06:33Z copec: If only there were a programming paradigm that worked that way? 2020-01-16T19:06:55Z mangul joined #lisp 2020-01-16T19:07:13Z [df]: one day we will all have our brains plugged in to one global lisp image running on a planet-sized supercomputer 2020-01-16T19:07:16Z SmallBrain: Xach: Especially when the usual answer is "use python instead" 2020-01-16T19:07:38Z [df]: until we expand out into the solar system of course 2020-01-16T19:07:43Z phoe: SmallBrain: no problem 2020-01-16T19:08:08Z phoe: [df]: and then someone will call (loop for x = nil then (cons x x)) 2020-01-16T19:08:41Z SmallBrain: well its getting close to 5am, so good night people 2020-01-16T19:08:52Z phoe: SmallBrain: filed an issue at https://github.com/portacle/portacle/issues/130. Thanks for finding a bug in Portacle. (; 2020-01-16T19:08:56Z phoe: see you later 2020-01-16T19:09:04Z chimneys joined #lisp 2020-01-16T19:09:12Z SmallBrain quit (Remote host closed the connection) 2020-01-16T19:09:26Z chimneys left #lisp 2020-01-16T19:09:30Z [df]: nah, this will be in an enlightened era where humans are never malicious 2020-01-16T19:09:38Z [df]: or possibly humans have been replaced with something better ;) 2020-01-16T19:09:56Z phoe: nested Lisp images, mmmmm 2020-01-16T19:12:29Z refpga joined #lisp 2020-01-16T19:12:57Z [df]: inception! 2020-01-16T19:13:49Z copec: Was there ever any work on an sbcl tree shaker? 2020-01-16T19:14:15Z phoe: there was 2020-01-16T19:14:25Z phoe: there seems to be one that worked some time ago 2020-01-16T19:14:30Z phoe: but then it bitrotted 2020-01-16T19:14:42Z reimu_ joined #lisp 2020-01-16T19:14:49Z phoe: how much do you need to shake off your binary? 2020-01-16T19:15:14Z copec: There was a nice feeling about being able to end up with a little executable "back in the day" 2020-01-16T19:15:34Z copec: none, phoe 2020-01-16T19:15:57Z copec: For the same motivations that led to systemd 2020-01-16T19:16:00Z phoe: I think much more is saved with core compression than there is with shaking 2020-01-16T19:16:01Z copec: just being OCD about something 2020-01-16T19:16:16Z asarch quit (Quit: Leaving) 2020-01-16T19:16:22Z [df]: it's nice but very non-essential, except perhaps for commercial products or tiny embedded systems 2020-01-16T19:18:08Z [df]: an sbcl image is pretty tiny by today's (ridiculous) standards anyway 2020-01-16T19:18:42Z copec: I've been learning Rust, because I hate myself, so that's the only reason I even think about it 2020-01-16T19:18:45Z reimu__ joined #lisp 2020-01-16T19:19:05Z refpga quit (Remote host closed the connection) 2020-01-16T19:21:27Z refpga joined #lisp 2020-01-16T19:21:28Z galdor: funny thing is, when you see people deploying 1+GB images containing trivial web apps, you stop caring about the size of a CL executable image 2020-01-16T19:21:31Z reimu_ quit (Ping timeout: 265 seconds) 2020-01-16T19:21:43Z phoe: "why is a Lisp app 50MB in size" 2020-01-16T19:21:44Z galdor: docker made CL images look small 2020-01-16T19:21:52Z phoe: "why is your non-Lisp app 5000MB in size" 2020-01-16T19:22:53Z phoe: "why does your app bundle a compiler" 2020-01-16T19:23:09Z phoe: "why does your app bundle an operating system and ten versions of a trivial-left-pad package" 2020-01-16T19:23:15Z phoe: oh well though, this is #lispcafe material 2020-01-16T19:24:19Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-16T19:24:48Z sauvin quit (Read error: Connection reset by peer) 2020-01-16T19:26:50Z mangul quit (Ping timeout: 240 seconds) 2020-01-16T19:27:30Z HiRE: Is there a reason I see some packages being named with `#:` vs `:`? 2020-01-16T19:27:35Z HiRE: or is it just developer preference? 2020-01-16T19:28:08Z asdf_asdf_asdf joined #lisp 2020-01-16T19:29:19Z milanj quit (Quit: This computer has gone to sleep) 2020-01-16T19:30:23Z phoe: HiRE: the former doesn't intern a new keyword 2020-01-16T19:30:26Z _death: HiRE: packages are named by strings.. you are talking about package designators, which may be symbols whose name is equal to the package's name 2020-01-16T19:30:28Z copec: Developer preference as far as I can tell. I personally try not to intern symbols 2020-01-16T19:31:00Z HiRE: what does "intern symbols" mean 2020-01-16T19:31:01Z HiRE: ? 2020-01-16T19:31:03Z phoe: it's a petty thing, attempting to save space for a single symbol, but nonetheless 2020-01-16T19:31:19Z phoe: HiRE: creating a new symbol in a package and making it stay there in memory forever* 2020-01-16T19:31:29Z HiRE: oh I see 2020-01-16T19:31:35Z phoe: *in case of keywords, it actually stays there forever 2020-01-16T19:31:41Z HiRE: so `#:` only keeps the symbol around for as long as the package is needed? 2020-01-16T19:31:46Z phoe: not really 2020-01-16T19:31:54Z phoe: it creates the symbol without any assigned package 2020-01-16T19:32:03Z phoe: it's a symbol that is not interned anywhere 2020-01-16T19:32:08Z dlowe: :keyword is a keyword, #:sym is a symbol without a package 2020-01-16T19:32:23Z decent-u` joined #lisp 2020-01-16T19:32:39Z pjb: Well, any symbol read from #:foo will be garbage collected when memory is needed if it is not referenced somewhere. 2020-01-16T19:32:54Z pjb: So in a defpackage form, they will indeed disappear soon! 2020-01-16T19:33:06Z Nilby: Unfortunately if there's one use of :package instead of #:package then it doesn't matter. 2020-01-16T19:33:24Z phoe: yep, that's why consistency matters 2020-01-16T19:33:30Z pjb: Nilby: #:package will be garbage collected even if :package is not. 2020-01-16T19:33:35Z phoe: ^ 2020-01-16T19:33:41Z phoe: that's the ultimate reason 2020-01-16T19:33:49Z slyrus_ joined #lisp 2020-01-16T19:34:07Z Xach: without a home package 2020-01-16T19:34:20Z Xach: apparently uninterned symbols have a package but are without a home 2020-01-16T19:34:24Z _death: if you use keywords, then there may be more ambiguities when autocompleting a keyword 2020-01-16T19:34:34Z phoe: Xach: wait what 2020-01-16T19:34:35Z decent-username quit (Ping timeout: 272 seconds) 2020-01-16T19:34:37Z Xach: (this is not a useful detail most of the time) 2020-01-16T19:34:45Z phoe: #:foo doesn't have a package 2020-01-16T19:34:47Z refpga quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-16T19:34:49Z pilne joined #lisp 2020-01-16T19:34:49Z copec: _death, that's actually the best reason I think i've heard 2020-01-16T19:34:58Z Xach: phoe: it doesn't have a home package. it might be present in a package though. 2020-01-16T19:35:02Z jxy joined #lisp 2020-01-16T19:35:06Z phoe: that's a pathological case 2020-01-16T19:35:10Z Xach: phoe: c'mon, this is like page 2 of RG's spiteful guide to packages. 2020-01-16T19:35:15Z phoe: if you intern a symbol in A, import it into B, unintern it from A 2020-01-16T19:35:20Z Xach: phoe: right. 2020-01-16T19:35:23Z pjb: HiRE: the most important job of intern, and the notion of internalizing things, is that when you read twice the same representation you get always the same object. 2020-01-16T19:35:23Z phoe: that's not the case when you type in a literal #:foo 2020-01-16T19:35:48Z Xach: that's right. 2020-01-16T19:35:50Z refpga joined #lisp 2020-01-16T19:36:02Z refpga quit (Client Quit) 2020-01-16T19:36:06Z HiRE: ah I see 2020-01-16T19:36:07Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-16T19:36:11Z HiRE: well I think I see 2020-01-16T19:36:16Z HiRE: im reading the CMU guide on symbols now 2020-01-16T19:36:17Z HiRE: lol 2020-01-16T19:36:20Z refpga joined #lisp 2020-01-16T19:36:26Z pjb: HiRE: so in (foo foo) we have actually two pointers to the same symbol foo. While in (#:foo #:foo) we have two pointers to two different homeless symbols named "FOO". While in (#1=#:foo #1#) we have two pointers to the same homeless symbol named "FOO". 2020-01-16T19:36:33Z phoe: http://index-of.es/Programming/Lisp/Lisp%20Mess/Erann%20Gat%20-%20Idiots%20Guide%20To%20Lisp%20Packages.pdf 2020-01-16T19:36:44Z slyrus quit (Ping timeout: 268 seconds) 2020-01-16T19:36:51Z phoe: that's one decent guide to packages with a somewhat abrasive title 2020-01-16T19:36:58Z HiRE: I find the title charming 2020-01-16T19:37:03Z phoe: i know, right 2020-01-16T19:37:05Z Xach: not just a title, abrasive throughout. 2020-01-16T19:37:20Z Xach: yet no slacker has superseded it, so 2020-01-16T19:37:29Z copec: That's USA style, like Dumbies guides 2020-01-16T19:37:41Z copec: or dummies, even 2020-01-16T19:39:11Z pjb: HiRE: you can internalize other things, by implementing your own mapping. For example, cons cells. (defvar *conses* (make-hash-table :test 'equal)) (defun intern-cons (k) (or (gethash k *conses*) (setf (gethash k *conses*) k))) (setf *print-circle* t) (list (intern-cons (cons 1 2)) (intern-cons (cons 1 2)) (intern-cons (cons 3 4))) #| --> (#1=(1 . 2) #1# (3 . 4)) |# 2020-01-16T19:40:27Z copec: Learning garbage collector theory is something I need to finally jump into 2020-01-16T19:40:30Z pjb: HiRE: note: this is something that a compiler is autorized to do on any literal cons cell it finds in the compilation-unit. 2020-01-16T19:40:31Z HiRE: hm, I suppose I'll hit the books a little harder. 2020-01-16T19:41:14Z Nilby: Or just do what I do and (delete-package :keyword) every now and then. 2020-01-16T19:41:27Z Xach: Nilby: don't do that. 2020-01-16T19:43:36Z White_Flame: HiRE: interning isn't a lisp-specific term, either. Many languages use it to describe unifying various equivalent objects into 1 instance. 2020-01-16T19:43:49Z Nilby: (progn (delete-package :keyword) (gc) (gc :full t) (save-lisp-and-die)) 2020-01-16T19:44:05Z skeuomorf joined #lisp 2020-01-16T19:44:09Z Nilby: sorry i'm just goofing 2020-01-16T19:44:17Z skeuomorf left #lisp 2020-01-16T19:44:22Z White_Flame: (emphasis on "-and-die" ;) ) 2020-01-16T19:45:06Z Odin- found it a little hilarious when he realised GNU Emacs is a tenth the size of "modern editors" that are basically attempts to remake it. 2020-01-16T19:45:07Z White_Flame: however, even if you delete-package, the actual symbol instances are still there, so as long as you're not READing any new strings with keywords, you might actually be okay? 2020-01-16T19:45:30Z phoe: White_Flame: unicorns might happen 2020-01-16T19:45:36Z phoe: we're in the undefined behaviour land. 2020-01-16T19:45:37Z White_Flame: or manually interning symbols, too 2020-01-16T19:45:52Z z147 quit (Remote host closed the connection) 2020-01-16T19:45:54Z Odin-: White_Flame: I do suspect those other languages borrowed the term from Lisp. 2020-01-16T19:46:08Z z147 joined #lisp 2020-01-16T19:46:33Z Odin-: I still haven't seen a reference using that which doesn't have a clear link to Lisp usage, direct or indirect. 2020-01-16T19:46:37Z reimu__ quit (Ping timeout: 272 seconds) 2020-01-16T19:46:40Z phoe: Odin-: which term? 2020-01-16T19:47:01Z Odin-: Interning, in terms of symbols or unique strings. 2020-01-16T19:47:22Z slyrus__ joined #lisp 2020-01-16T19:47:34Z White_Flame: did it also use the term "intern" in the beginning? 2020-01-16T19:47:52Z phoe: who interned the term "intern" in everyone's minds? 2020-01-16T19:47:53Z White_Flame: wikipedia talks about an objlist or obarray 2020-01-16T19:48:37Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-16T19:49:10Z narimiran joined #lisp 2020-01-16T19:50:03Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-16T19:50:28Z copec: Have you made it as a programmer when you make your own blog about making your own lisp? 2020-01-16T19:50:53Z _death: is the blog written in this lisp 2020-01-16T19:51:05Z White_Flame: and the httpd 2020-01-16T19:51:32Z copec: For the sake of argument, yes. 2020-01-16T19:51:33Z dlowe: You've made it as a programmer when you make a thing and someone else uses it for something they want 2020-01-16T19:52:48Z jfb4_ joined #lisp 2020-01-16T19:53:20Z Odin-: White_Flame: The function 'intern' is in the Lisp 1.5 manual, at least. 2020-01-16T19:53:30Z White_Flame: ah cool 2020-01-16T19:54:11Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-16T19:55:56Z copec: I swear I saw someone made a good illustration of the cl reader, and in searching for it came across many blogs about making a lisp 2020-01-16T19:56:35Z copec: To highlight the reader <--> symbol relationship 2020-01-16T19:57:09Z brown121407 quit (Read error: Connection reset by peer) 2020-01-16T19:57:56Z pjb: Of course, since INTERN was in the first LISP in 1960… 2020-01-16T19:58:07Z LdBeth: Odin-: At least I know Java borrowed interning as a term for string comparison 2020-01-16T19:58:28Z pjb: At the time, no other programming language had such a notion. In compilers, you had a symbol table, so you could have lookup_identifier or something, but no intern. 2020-01-16T19:59:13Z brown121408 joined #lisp 2020-01-16T20:00:13Z Odin-: LdBeth: Well, the Lisp link is absurdly easy to trace there. 2020-01-16T20:02:30Z X-Scale joined #lisp 2020-01-16T20:08:47Z LdBeth: I do suspect the term is originated from IBM S/360 internals 2020-01-16T20:09:15Z LdBeth: But searching on the internet won’t help 2020-01-16T20:09:59Z White_Flame: either "internal" or "internment" :-P 2020-01-16T20:10:23Z LdBeth: GG 2020-01-16T20:11:43Z Odin-: As long as it's not interment. 2020-01-16T20:12:41Z Oladon joined #lisp 2020-01-16T20:16:56Z longshi quit (Quit: WeeChat 2.7) 2020-01-16T20:18:32Z EvW joined #lisp 2020-01-16T20:18:40Z rdh joined #lisp 2020-01-16T20:26:02Z Codaraxis quit (Ping timeout: 240 seconds) 2020-01-16T20:27:09Z copec: Anyone done a HTTP POST GET repl 2020-01-16T20:27:47Z asdf_asdf_asdf quit (Ping timeout: 272 seconds) 2020-01-16T20:28:39Z reimu_ joined #lisp 2020-01-16T20:29:27Z lclark joined #lisp 2020-01-16T20:35:17Z bitmapper joined #lisp 2020-01-16T20:36:44Z pfdietz: Lisp predates the IBM 360. I first used Lisp 1.5 on an IBM 7094. 2020-01-16T20:37:11Z pfdietz: I was very young then. :) 2020-01-16T20:39:23Z milanj joined #lisp 2020-01-16T20:47:27Z xuxuru joined #lisp 2020-01-16T20:48:54Z pjb: copec: how would that work? 2020-01-16T20:49:21Z pjb: copec: isn't that Firefox? 2020-01-16T20:50:36Z jackdaniel: copec: building a macro around drakma shouldn't be hard 2020-01-16T20:50:55Z _death: maybe something like restclient-mode? 2020-01-16T20:50:58Z jackdaniel: I wrote rest api test automation that way (macros were more functionality oriented) 2020-01-16T20:51:06Z asdf_asdf_asdf joined #lisp 2020-01-16T20:54:16Z phadthai: other than handling HTTP, you may want to bind *debugger-hook* to handle conditions and use eval... also look at slime/swank that includes a third party implementation-independent REPL 2020-01-16T20:55:12Z phadthai: (all that's different is that your lines/commands originate from http requests) 2020-01-16T20:55:42Z copec: I need to read swank code 2020-01-16T20:55:52Z copec: also, I just googled up https://platform.sh/blog/2019/lisp/ 2020-01-16T21:01:59Z tiwEllien quit (Ping timeout: 272 seconds) 2020-01-16T21:06:25Z narimiran quit (Ping timeout: 272 seconds) 2020-01-16T21:09:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2020-01-16T21:10:13Z Picantest quit (Ping timeout: 272 seconds) 2020-01-16T21:10:14Z atgreen quit (Remote host closed the connection) 2020-01-16T21:16:23Z reepca: is there a way to have a 'for' variable in a loop have an initial value and a stepping clause? 2020-01-16T21:16:39Z Bike: for x = initial-form then next-form 2020-01-16T21:16:57Z reepca: thanks, I probably should have figured that out myself... 2020-01-16T21:20:54Z Oladon quit (Quit: Leaving.) 2020-01-16T21:21:44Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-16T21:24:11Z Picantest joined #lisp 2020-01-16T21:26:30Z xuxuru quit (Quit: xuxuru) 2020-01-16T21:28:50Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-16T21:31:31Z ebrasca quit (Remote host closed the connection) 2020-01-16T21:36:33Z random-nick quit (Ping timeout: 268 seconds) 2020-01-16T21:36:51Z william1 quit (Ping timeout: 265 seconds) 2020-01-16T21:38:01Z quazimod1 joined #lisp 2020-01-16T21:39:34Z jmercouris joined #lisp 2020-01-16T21:40:04Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-16T21:42:23Z oni-on-ion quit (Ping timeout: 245 seconds) 2020-01-16T21:42:32Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-16T21:48:00Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-16T21:52:52Z slyrus_ joined #lisp 2020-01-16T21:55:26Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-16T21:55:36Z pjb: reepca: the trick is to type clhs loop, then search for 22. and follow the link. 2020-01-16T21:56:40Z jmercouris: don't feel disheartened loop is a very complex macro 2020-01-16T21:57:48Z bitmapper quit (Ping timeout: 260 seconds) 2020-01-16T21:58:01Z copec: I programmed cl for years before I bothered learning loop 2020-01-16T21:59:34Z Codaraxis joined #lisp 2020-01-16T22:00:24Z no-defun-allowed: Bloody hell, $50/month for a server? 2020-01-16T22:00:41Z no-defun-allowed: That sounds great (and they almost didn't make any paren jokes), but that's steep. 2020-01-16T22:02:04Z copec: yes it is 2020-01-16T22:02:06Z pjb: copec: that's ok. Lispers have been programming in lisp for decades before loop was invented. 2020-01-16T22:02:23Z slyrus__ joined #lisp 2020-01-16T22:02:51Z no-defun-allowed: I guess you get proper support too. 2020-01-16T22:05:21Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-16T22:05:39Z jmercouris quit (Remote host closed the connection) 2020-01-16T22:07:22Z slyrus_ joined #lisp 2020-01-16T22:10:17Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-16T22:13:54Z rdh quit (Remote host closed the connection) 2020-01-16T22:14:17Z pfdietz quit (Remote host closed the connection) 2020-01-16T22:14:42Z pjb quit (Ping timeout: 252 seconds) 2020-01-16T22:19:34Z _death: DO: The Ultimate LOOP 2020-01-16T22:21:47Z decent-u` quit (Ping timeout: 272 seconds) 2020-01-16T22:27:04Z notzmv joined #lisp 2020-01-16T22:27:34Z phoe: TAGBODY: The Ultimate DO 2020-01-16T22:28:04Z Bike: LAMBDA: the ultimate 2020-01-16T22:28:06Z _death: LAMBDA: The Ultimate GOTO 2020-01-16T22:29:06Z Bike quit (Remote host closed the connection) 2020-01-16T22:29:55Z jbayardo quit (Quit: Bye!) 2020-01-16T22:31:00Z jbayardo joined #lisp 2020-01-16T22:31:47Z no-defun-allowed: TRIVIAL-TURING-MACHINE: The Ultimate LAMBDA 2020-01-16T22:32:57Z slyrus__ joined #lisp 2020-01-16T22:33:07Z phoe: TRIVIAL-UNTYPED-LAMBDA-CALCULUS: the ultimate Turing machine 2020-01-16T22:33:45Z no-defun-allowed: TRIVIAL-SKI-COMBINATOR-CALCULUS: the ultimate TRIVIAL-UNTYPED-LAMBDA-CALCULUS 2020-01-16T22:35:45Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-16T22:36:48Z oni-on-ion joined #lisp 2020-01-16T22:42:06Z quazimod1 quit (Ping timeout: 265 seconds) 2020-01-16T22:43:46Z quazimodo joined #lisp 2020-01-16T22:47:47Z seok quit (Ping timeout: 260 seconds) 2020-01-16T22:49:27Z swamp joined #lisp 2020-01-16T22:54:09Z pjb joined #lisp 2020-01-16T22:57:23Z z147 quit (Ping timeout: 240 seconds) 2020-01-16T22:58:15Z Buggys left #lisp 2020-01-16T23:00:22Z slyrus_ joined #lisp 2020-01-16T23:02:46Z LiamH quit (Quit: Leaving.) 2020-01-16T23:03:13Z smokeink joined #lisp 2020-01-16T23:03:22Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-16T23:04:51Z reimu_ quit (Ping timeout: 272 seconds) 2020-01-16T23:06:59Z refpga quit (Read error: Connection reset by peer) 2020-01-16T23:07:12Z refpga joined #lisp 2020-01-16T23:17:02Z holycow quit (Quit: leaving) 2020-01-16T23:17:05Z asarch joined #lisp 2020-01-16T23:19:28Z Josh_2 quit (Ping timeout: 260 seconds) 2020-01-16T23:23:13Z EvW quit (Ping timeout: 245 seconds) 2020-01-16T23:26:53Z holycow joined #lisp 2020-01-16T23:26:56Z holycow: . 2020-01-16T23:30:24Z karlosz joined #lisp 2020-01-16T23:37:09Z Bike joined #lisp 2020-01-16T23:38:02Z atgreen joined #lisp 2020-01-16T23:39:05Z hiroaki quit (Ping timeout: 268 seconds) 2020-01-16T23:40:12Z ebzzry joined #lisp 2020-01-16T23:43:31Z swamp left #lisp 2020-01-16T23:43:31Z jbayardo quit (Quit: Bye!) 2020-01-16T23:45:21Z z3n3 joined #lisp 2020-01-16T23:46:41Z EvW1 joined #lisp 2020-01-16T23:51:05Z varjag quit (Ping timeout: 272 seconds) 2020-01-16T23:53:37Z Kaisyu joined #lisp 2020-01-16T23:55:02Z Lord_of_Life_ joined #lisp 2020-01-16T23:55:30Z slyrus joined #lisp 2020-01-16T23:56:32Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-16T23:56:32Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-16T23:57:35Z madagest quit (Remote host closed the connection) 2020-01-16T23:57:43Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-16T23:57:51Z madage joined #lisp 2020-01-16T23:59:19Z Oladon joined #lisp 2020-01-17T00:01:47Z z3n3 quit (Ping timeout: 260 seconds) 2020-01-17T00:04:28Z cosimone quit (Ping timeout: 245 seconds) 2020-01-17T00:06:36Z z3n3 joined #lisp 2020-01-17T00:15:12Z efm quit (Quit: Konversation terminated!) 2020-01-17T00:15:41Z efm joined #lisp 2020-01-17T00:20:53Z z3n3 quit (Quit: WeeChat 2.7) 2020-01-17T00:20:59Z LdBeth: STOP 2020-01-17T00:32:07Z aap_ joined #lisp 2020-01-17T00:32:28Z beaky quit (Read error: Connection reset by peer) 2020-01-17T00:32:28Z aap quit (Read error: Connection reset by peer) 2020-01-17T00:33:35Z beaky joined #lisp 2020-01-17T00:33:40Z Irenes[m] quit (Ping timeout: 252 seconds) 2020-01-17T00:41:55Z torbo joined #lisp 2020-01-17T00:46:28Z Xach: LdBeth: sending a telegram? 2020-01-17T00:47:32Z LdBeth: ATTN 2020-01-17T00:47:32Z asarch: How would you convert an integer into a string? 2020-01-17T00:47:55Z LdBeth: By #'format 2020-01-17T00:49:21Z LdBeth: or either #'write-to-string 2020-01-17T00:49:33Z asarch: Thank you! Thank you very much! :-) 2020-01-17T00:55:06Z LdBeth: I guess thinking [type-of-a]->string is harmful 2020-01-17T00:56:13Z ebrasca joined #lisp 2020-01-17T00:58:13Z turona quit (Ping timeout: 272 seconds) 2020-01-17T00:58:42Z ebrasca: Can I ask about usocket implementation here? 2020-01-17T00:58:56Z Xach: ebrasca: sure 2020-01-17T00:59:36Z ebrasca: What is function wait-for-input-internal ? 2020-01-17T01:00:01Z ebrasca: What function wait-for-input-internal have? 2020-01-17T01:00:28Z smazga quit (Quit: leaving) 2020-01-17T01:00:41Z bitmapper joined #lisp 2020-01-17T01:02:07Z bitmapper: does anyone know the status of lispworks personal 64bit? 2020-01-17T01:04:04Z turona joined #lisp 2020-01-17T01:04:33Z Nilby quit (Ping timeout: 272 seconds) 2020-01-17T01:05:18Z ebrasca: Xach: ^ 2020-01-17T01:07:07Z pjb: asarch: prin1-to-string for any lisp object, including integers. 2020-01-17T01:07:24Z asarch: Yeah! 2020-01-17T01:07:33Z pjb: ebrasca: what does it have? 2020-01-17T01:08:28Z pjb: LdBeth: not harmful, but using to<-from instead of from->to might be better in lisp: (c<-b (b<-a a)) instead of (b->c (a->b a)) 2020-01-17T01:08:39Z pjb: ebrasca: you're not making sense. 2020-01-17T01:09:17Z ebrasca: pjb: I need to implement wait-for-input-internal for usocket Mezzano implementation. 2020-01-17T01:09:33Z ebrasca: pjb: But I don't undestand wait-for-input-internal. 2020-01-17T01:10:37Z pjb: ebrasca: well -internal probably means that it's an internal function, so it can do anything, depending on the implementation of your code. wait-for-input should be clear enough: it should wait until something is ready to be read. 2020-01-17T01:12:15Z pjb: ebrasca: it should be noted that you get no help from CL for this kind of features. There's a LISTEN function for character streams, but since it's always implementation and platform dependent if and how streams are buffered, LISTEN doesn't give much information. It does precisely what it's specified to do, indicate whether there's data ready to be processed for lisp. But more data could have been available if the things had bee 2020-01-17T01:12:15Z pjb: unbuffered or raw. 2020-01-17T01:12:17Z LdBeth: pjb: I mean thinking in coercion while asking for formatting is no good. There could have many functions have type number->string 2020-01-17T01:13:14Z pjb: LdBeth: Oh, you mean (haskell-type number -> type), not number->type. 2020-01-17T01:13:58Z LdBeth: pjb: or (scheme number->string) 2020-01-17T01:14:08Z Xach: ebrasca: it's something like select, poll, epoll, or kqueues. 2020-01-17T01:14:15Z Xach: ebrasca: in unix terms, wait for an fd to have data 2020-01-17T01:14:24Z hostile quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2020-01-17T01:14:41Z pjb: LdBeth: scheme number->string doesn't have the type number -> string: it can signal errors… 2020-01-17T01:15:47Z LdBeth: That only means it’s a partial function 2020-01-17T01:16:35Z dddddd quit (Read error: Connection reset by peer) 2020-01-17T01:16:42Z pjb: It's a way to see it. What's the type of a partial function? 2020-01-17T01:16:52Z pjb: (it looks like types are important to you, so I ask) 2020-01-17T01:17:32Z pjb: Note how C++ or Java function signatures include the set of conditions that are signaled. int foo(int x) throws Y,Z; 2020-01-17T01:21:06Z LdBeth: pjb: partial in the sense that not all elements in the set of input type are covered. However you can still view conditions/errors/exceptions as objects of certain type 2020-01-17T01:21:18Z dlowe: pretty sure C++ doesn't have checked exceptions so far 2020-01-17T01:21:30Z Oladon quit (Quit: Leaving.) 2020-01-17T01:22:01Z _death: C++ has exception specifications, but nobody uses them because they have issues.. except maybe to say that a function does not throw 2020-01-17T01:22:09Z LdBeth: A partial function in domain A could be a total on in domain B which is a subset of A 2020-01-17T01:22:39Z hostile joined #lisp 2020-01-17T01:23:00Z dlowe: _death: I honestly can't keep up with C++ anymore since I don't use it day-to-day 2020-01-17T01:23:25Z LdBeth: But I argues that thinking in terms of type is not all that important in CL 2020-01-17T01:23:29Z Josh_2 joined #lisp 2020-01-17T01:25:08Z dlowe: _death: okay, those actually cause runtime errors instead of compiler checks. yikes. 2020-01-17T01:25:19Z asarch quit (Quit: Leaving) 2020-01-17T01:25:40Z _death: dlowe: well, I wanted to say that I haven't used it for a while, but then I recalled that I used it today.. to add a bit of texture manipulation functions to my imgui+ecl thingy so that I can use vecto to draw stuff and see it appear immediately on screen :) 2020-01-17T01:26:09Z dlowe: "If an exception is thrown from a function that has not specified the thrown exception in its exception specification, the result is a call to the function unexpected()." 2020-01-17T01:27:14Z dlowe kicks sand over C++. I think we've seen enough. 2020-01-17T01:28:22Z _death: I could've just used cl-opengl for that bit, but I didn't want to depend on it for such basic functionality so provided my own interface 2020-01-17T01:28:34Z phoe: dlowe: void unexpected() { return spanish_inquisition; } 2020-01-17T01:29:50Z Xach: _death: i am on the verge of making something that uses the vecto api but draws into a browser immediately instead. i need faster feedback. 2020-01-17T01:30:03Z _death: lemme make a video :) 2020-01-17T01:30:05Z Xach: and faster rendering. vecto is too slow :( 2020-01-17T01:30:06Z dlowe: Xach: like with parenscript? 2020-01-17T01:30:11Z dlowe: phoe: :D 2020-01-17T01:30:38Z Xach: dlowe: i was thinking a websocket where lisp pushes primitives to a little js kernel that draws to a canvas. but it's all thinking so far, no doing. 2020-01-17T01:30:50Z Nilby joined #lisp 2020-01-17T01:31:44Z Xach: bidirectional, too, so i could send mouse events to lisp and react. again, mostly daydreaming without code so far. 2020-01-17T01:33:35Z Xach: this seems legit easier than porting my preferred way of messing around with graphic objects to javascript 2020-01-17T01:33:47Z Xach: and then also using javascript 2020-01-17T01:34:11Z smokeink: Xach: I think it's very doable; I've done it with trident mode but I want to switch to using websockets ; 2020-01-17T01:34:24Z Xach: smokeink: what is trident mode? 2020-01-17T01:34:35Z Xach: oh, i see 2020-01-17T01:34:42Z smokeink: it's an emacs plugin to send parenscript to the browser 2020-01-17T01:36:24Z _death: Xach: mpv https://adeht.org/dump/vid-2020-01-17T0330.mp4 2020-01-17T01:40:47Z sjl joined #lisp 2020-01-17T01:41:00Z swflint quit (Quit: ZNC - http://znc.in) 2020-01-17T01:41:42Z Xach downloads vlc to play 2020-01-17T01:42:12Z swflint joined #lisp 2020-01-17T01:44:24Z Xach: _death: cool! 2020-01-17T01:44:51Z Xach: i guess if you don't have to compress anything that helps runtime 2020-01-17T01:45:07Z Xach: _death: vectometry is so much nicer to use 2020-01-17T01:45:42Z _death: Xach: the color changes every time I C-M-x.. I didn't measure how much time it takes to render though 2020-01-17T01:46:30Z _death: (every time I evaluate, it replaces the texture) 2020-01-17T01:47:54Z Xach: cool 2020-01-17T01:49:27Z _death: you could do something like that with simple cl-opengl code.. likely easier than websockets+js :) 2020-01-17T01:50:47Z Xach: _death: i want to offload rasterizing too 2020-01-17T01:51:03Z _death: ah 2020-01-17T01:51:05Z Xach: so js gets canvas commands, not a bitmap 2020-01-17T01:51:18Z Xach: but fairly terse canvas commands - not straight code to eval 2020-01-17T01:51:19Z _death: what about a cairo backend or something 2020-01-17T01:51:38Z Xach: avoiding ffi mostly. 2020-01-17T01:51:50Z Xach: i can grok socket ffi and it doesn't need a library. 2020-01-17T01:53:23Z _death: is it just for speed reasons? 2020-01-17T01:55:14Z Xach: _death: i'd like to cut down the feedback loop of thinking about a tweak to a graphics hack and seeing what it looks like. i'd also like to add some interactivity. 2020-01-17T01:57:38Z _death tries something a bit more interactive 2020-01-17T01:59:18Z Xach: for example 2020-01-17T01:59:25Z Xach: https://i.imgur.com/mgXMaMY.png would be fun to make all the "rays" point at the cursor 2020-01-17T02:03:47Z _death: mpv https://adeht.org/dump/vid-2020-01-17T0359.mp4 2020-01-17T02:03:50Z _death: it's not so bad 2020-01-17T02:05:21Z bitmapper quit (Ping timeout: 272 seconds) 2020-01-17T02:07:28Z HiRE: so yet another dumb question because I haven't hit my quota for today 2020-01-17T02:07:36Z HiRE: im messing with bytes and stuff 2020-01-17T02:07:49Z HiRE: `#xABCDEFQRZ` defines a hex value 2020-01-17T02:07:52Z HiRE: but 2020-01-17T02:07:59Z HiRE: `0xABCDEFQRZ` does something too 2020-01-17T02:08:12Z Bike: not QRZ, surely. 2020-01-17T02:08:15Z HiRE: one prints the decimal to the REPL (#x...) the other prints |0xasdasd| 2020-01-17T02:08:22Z Bike: the second is a symbol. 2020-01-17T02:08:27Z HiRE: Bike, special extended hex syntax clearly 2020-01-17T02:08:37Z _death: #36rABCDEFQRZ 2020-01-17T02:08:49Z HiRE: so symbols can begin with numbers 2020-01-17T02:08:52Z HiRE: thats so foreign to me 2020-01-17T02:09:00Z Bike: it's a bit unusual. 2020-01-17T02:09:21Z Xach: _death: neat 2020-01-17T02:09:22Z HiRE: why does it choose to bracket the output of those symbols with `|`? 2020-01-17T02:09:43Z HiRE: wow #36rABCDEFQRZ evaluates 2020-01-17T02:09:47Z _death: Xach: this is ecl btw 2020-01-17T02:09:57Z HiRE: 2910003677103 2020-01-17T02:09:59Z HiRE: lool 2020-01-17T02:10:05Z Bike: those are escape characters. They mean that that all the characters in the name are exactly those characters, and not downcased or anything. 2020-01-17T02:10:20Z Xach: _death: looks fun 2020-01-17T02:10:20Z HiRE: Ok that makes sense. Thank you Bike 2020-01-17T02:10:20Z Bike: #36rABCDEFQRZ means ABCDEFQRZ in base 36, if that's not clear 2020-01-17T02:10:36Z HiRE: yep I just think its funny to think about base 36 2020-01-17T02:10:40Z HiRE: for some reason 2020-01-17T02:10:46Z _death: Xach: it is.. though I've not been working on it for a month 2020-01-17T02:16:08Z karlosz quit (Quit: karlosz) 2020-01-17T02:16:39Z karlosz joined #lisp 2020-01-17T02:16:46Z karlosz quit (Remote host closed the connection) 2020-01-17T02:16:58Z pjb: 2020-01-17T02:16:58Z pjb: /whoami 2020-01-17T02:23:58Z loke: I'm trying to find that meme-picture "what I see"/"what they see" of Lisp code 2020-01-17T02:24:13Z loke: I searched through the entirety of LispMemes on reddit with no luck 2020-01-17T02:30:05Z no-defun-allowed: loke: http://www.thejach.com/imgs/lisp_parens.png 2020-01-17T02:31:55Z rumbler31 quit (Remote host closed the connection) 2020-01-17T02:31:58Z loke: no-defun-allowed: thanks :-) 2020-01-17T02:32:44Z no-defun-allowed: (: 2020-01-17T02:34:45Z ahungry joined #lisp 2020-01-17T02:36:10Z loke: Speaking of lispmemes... Where does this come from? https://www.reddit.com/r/LispMemes/comments/ciw99r/heres_a_better_way_to_macro/ 2020-01-17T02:36:35Z no-defun-allowed: "FYI, this came out of cl-emb." 2020-01-17T02:36:44Z loke: Yeah, but what is cl-emb? 2020-01-17T02:37:01Z loke: There must be some story to this, because no sane person would write code like that. Ever. 2020-01-17T02:37:12Z no-defun-allowed: https://www.common-lisp.net/project/cl-emb/ probably 2020-01-17T02:37:51Z slyrus_ joined #lisp 2020-01-17T02:38:55Z slyrus quit (Ping timeout: 272 seconds) 2020-01-17T02:43:43Z saravia joined #lisp 2020-01-17T02:43:53Z _death: HiRE: you just need some practice.. try this (setf *read-base* 36) 2020-01-17T02:43:59Z swflint quit (Ping timeout: 272 seconds) 2020-01-17T02:44:04Z hsaziz joined #lisp 2020-01-17T02:44:57Z saravia quit (Remote host closed the connection) 2020-01-17T02:47:01Z saravia joined #lisp 2020-01-17T02:47:39Z swflint joined #lisp 2020-01-17T02:49:12Z saravia quit (Remote host closed the connection) 2020-01-17T02:52:26Z saravia joined #lisp 2020-01-17T02:52:51Z swflint quit (Ping timeout: 272 seconds) 2020-01-17T02:56:00Z milanj quit (Quit: This computer has gone to sleep) 2020-01-17T02:56:09Z jackdaniel quit (Ping timeout: 250 seconds) 2020-01-17T02:56:09Z Mon_Ouie quit (Ping timeout: 250 seconds) 2020-01-17T02:56:16Z jackdaniel joined #lisp 2020-01-17T02:58:05Z Codaraxis_ joined #lisp 2020-01-17T02:58:19Z dru1d quit (Ping timeout: 250 seconds) 2020-01-17T02:59:35Z dru1d joined #lisp 2020-01-17T02:59:36Z Mon_Ouie joined #lisp 2020-01-17T03:01:27Z Codaraxis quit (Ping timeout: 260 seconds) 2020-01-17T03:02:48Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-17T03:08:11Z swflint joined #lisp 2020-01-17T03:14:42Z hsaziz quit (Ping timeout: 265 seconds) 2020-01-17T03:19:14Z saravia quit (Ping timeout: 268 seconds) 2020-01-17T03:21:52Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-17T03:22:15Z saravia joined #lisp 2020-01-17T03:23:36Z saravia quit (Client Quit) 2020-01-17T03:27:06Z Bike quit (Quit: Lost terminal) 2020-01-17T03:27:51Z g0d_shatter joined #lisp 2020-01-17T03:33:14Z smokeink: (let () (defvar x0 2) x0) ; why does it give a Warning: this undefined variable: X0 ? (when evaling it the 1st time) and this one doesn't?: (progn (defvar x6 2) x6) 2020-01-17T03:34:13Z Khisanth quit (Ping timeout: 268 seconds) 2020-01-17T03:34:57Z pjb: smokeink: The second form could also give a warning when evaluating it the first time. If it doesn't, it may show that you evalulate it in a REPL that uses an optimization for progn forms. 2020-01-17T03:35:38Z pjb: smokeink: in both cases, defvar doesn't do anything until the form is evaluated: it has no compilation-time effect. Therefore when both forms are compiled, at compilation time, there is no variable known by x0 or x6. 2020-01-17T03:36:57Z pjb: smokeink: once you evaluate them, the symbol x0 (or x6) is marked as being special, a dynamic binding is established between the symbol and the initial value, and all the code that was compiled using lexical binding of variables named x0 (or x6) are still lexical bindings. So basically, your defvar forms are useless. 2020-01-17T03:37:07Z pjb: smokeink: unless, you try to compile new code. 2020-01-17T03:37:55Z pjb: smokeink: in which case, since you have a different environment between the old code already compiled, and the new code, you can get semantic discrepancies, and strange bugs. 2020-01-17T03:38:17Z pjb: And when I write strange bugs, I mean bugs you will spend days to debug… 2020-01-17T03:39:12Z pjb: Therefore 1- never use defvar or defparameter other than as toplevel form (note progn keeps it a toplevel form, so what I called optimization above must actually be the specified semantic). 2020-01-17T03:39:27Z pjb: 2- always name your special variables using the earmuff convention!!! 2020-01-17T03:39:39Z pjb: ie. don't use x0 or x6, but *x0* and *x6*! 2020-01-17T03:41:36Z pjb: smokeink: (defvar *x0* 2) (let () *x0*) #| --> 2 |# (progn (defvar *x6* 2) *x6*) #| --> 2 |# 2020-01-17T03:42:15Z smokeink: yes I use the earmuffs 2020-01-17T03:43:11Z zdm joined #lisp 2020-01-17T03:43:59Z pjb: China releases its own programming language Mulan 2020-01-17T03:46:40Z Khisanth joined #lisp 2020-01-17T03:48:37Z smokeink: if they don't use Chinese characters, I wouldn't call it very Chinese https://img2018.cnblogs.com/i-beta/989505/202001/989505-20200117111140494-1123911009.png 2020-01-17T03:48:44Z no-defun-allowed: pjb: I cannot find any information on the language other than news, and how is it related to Lisp? 2020-01-17T03:49:32Z Codaraxis_ quit (Read error: Connection reset by peer) 2020-01-17T03:50:40Z no-defun-allowed: "elastic actor execution model" sounds interesting, but it sounds difficult to put with "C" and embedded devices. 2020-01-17T03:50:42Z nirved: smokeink: (let () (declare (special x0)) ...) would remove the warning 2020-01-17T03:51:08Z hsaziz joined #lisp 2020-01-17T03:51:59Z loke: pjb: any link to the language implementation? 2020-01-17T03:52:22Z madage quit (Remote host closed the connection) 2020-01-17T03:52:36Z smokeink: nirved, pjb: cool,thanks 2020-01-17T03:53:38Z LdBeth: no-defun-allowed: according to some Chinese user, it’s currently like a cut down version of Python 2020-01-17T03:53:58Z no-defun-allowed: I don't C the "see" reference then. 2020-01-17T03:55:14Z ebrasca quit (Remote host closed the connection) 2020-01-17T03:55:14Z LdBeth: Anyway, it seems like a troll 2020-01-17T04:00:28Z pjb: loke: not yet, but I think that beach should have traveled North from Vietnam… 2020-01-17T04:00:42Z madage joined #lisp 2020-01-17T04:03:37Z smokeink: pjb: here's some Common Lisp https://paste.ofcode.org/Wnu3ffzKvnwf3ZM3M8cibA in Classical Chinese . the advantage is having short identifiers - if you're used to the logograms - 2020-01-17T04:04:45Z pjb: smokeink: and the advantage, is that since it's lisp code, ie. lisp data, we can easily write a little function to substitute the chinese ideogram with words using the latin alphabet. :-) 2020-01-17T04:05:48Z slyrus__ joined #lisp 2020-01-17T04:07:49Z smokeink: you could, but that would be at the end when you want to share the code with others ; during development you can keep it short 2020-01-17T04:08:51Z slyrus_ quit (Ping timeout: 272 seconds) 2020-01-17T04:12:52Z g0d_shatter quit (Quit: Leaving) 2020-01-17T04:15:52Z slyrus_ joined #lisp 2020-01-17T04:18:37Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-17T04:19:14Z hsaziz quit (Ping timeout: 240 seconds) 2020-01-17T04:19:57Z karlosz joined #lisp 2020-01-17T05:02:30Z beach: Good morning everyone! 2020-01-17T05:02:38Z Josh_2: Mornin beach 2020-01-17T05:02:41Z gko joined #lisp 2020-01-17T05:02:56Z phlim joined #lisp 2020-01-17T05:03:57Z Khisanth quit (Ping timeout: 272 seconds) 2020-01-17T05:08:23Z refpga quit (Ping timeout: 272 seconds) 2020-01-17T05:11:56Z refpga joined #lisp 2020-01-17T05:11:57Z Qudit314159 quit (Read error: Connection reset by peer) 2020-01-17T05:15:08Z Codaraxis_ joined #lisp 2020-01-17T05:25:38Z Khisanth joined #lisp 2020-01-17T05:33:40Z refpga quit (Ping timeout: 268 seconds) 2020-01-17T05:33:49Z dale quit (Quit: My computer has gone to sleep) 2020-01-17T05:34:08Z boeg quit (Read error: Connection reset by peer) 2020-01-17T05:34:40Z boeg joined #lisp 2020-01-17T05:35:35Z whiteline quit (Remote host closed the connection) 2020-01-17T05:35:50Z whiteline joined #lisp 2020-01-17T05:36:19Z oxum quit (Remote host closed the connection) 2020-01-17T05:36:34Z Necktwi quit (Read error: Connection reset by peer) 2020-01-17T05:36:44Z Necktwi joined #lisp 2020-01-17T05:38:14Z HiRE: hm 2020-01-17T05:38:40Z HiRE: so I am trying to summarize a bunch of booleans... I figured I could do something like `(reduce #'or '(t t t t nil))` and expect it to be false. 2020-01-17T05:38:50Z HiRE: but reduce doesn't like #'or...says its not a function 2020-01-17T05:38:54Z HiRE: is there a smarter way to do that? 2020-01-17T05:39:41Z White_Flame: OR is a macro, but (lambda (x y) (or x y)) would work 2020-01-17T05:39:56Z HiRE: ah, so the reason is because its a macro 2020-01-17T05:39:58Z HiRE: interesting 2020-01-17T05:40:06Z HiRE: makes sense. 2020-01-17T05:40:09Z White_Flame: if it was a function, it couldn't do short circuiting 2020-01-17T05:40:52Z White_Flame: (some #'identity '(t t t t nil)) also can work 2020-01-17T05:41:10Z White_Flame: and is likely to be optimized 2020-01-17T05:41:18Z HiRE: how does identity work? 2020-01-17T05:41:22Z HiRE: I suppose I could just RTFM 2020-01-17T05:41:25Z White_Flame: just passes the parameter through 2020-01-17T05:42:01Z HiRE: oh its literally the identity function...lol 2020-01-17T05:42:03Z HiRE: got it 2020-01-17T05:42:58Z White_Flame: also, if you use REDUCE, it will always traverse the entire list. SOME/EVERY/etc will early exit if the condition is met/breached 2020-01-17T05:43:04Z HiRE: wait there's a smarter way to do this I think 2020-01-17T05:43:06Z HiRE: I think im overthinking this 2020-01-17T05:43:15Z vlatkoB joined #lisp 2020-01-17T05:43:17Z HiRE: I remember from PCL there's a way to unwrap a list into a function's args 2020-01-17T05:43:26Z HiRE: (or (t t t t nil)) 2020-01-17T05:43:27Z White_Flame: but OR isn't a function ;) 2020-01-17T05:43:30Z HiRE: damnit 2020-01-17T05:43:32Z HiRE: you're right 2020-01-17T05:43:34Z HiRE: haha 2020-01-17T05:43:34Z Necktwi quit (Read error: Connection reset by peer) 2020-01-17T05:43:37Z no-defun-allowed: APPLY? 2020-01-17T05:43:38Z White_Flame: it would be (apply #'or list) if OR were a function 2020-01-17T05:44:17Z no-defun-allowed: You would have to use SOME; and I would advise against using APPLY where you want to REDUCE because some implementations may have small argument limits. 2020-01-17T05:45:18Z whiteline quit (Remote host closed the connection) 2020-01-17T05:45:27Z loke: HiRE: You might be looking for MOTANY? 2020-01-17T05:45:30Z loke: I mena NOTANY? 2020-01-17T05:45:42Z loke: http://clhs.lisp.se/Body/f_everyc.htm 2020-01-17T05:45:43Z whiteline joined #lisp 2020-01-17T05:45:48Z HiRE: oh right! there's also a SOME function 2020-01-17T05:46:48Z atgreen quit (Ping timeout: 260 seconds) 2020-01-17T05:48:49Z Necktwi joined #lisp 2020-01-17T05:51:33Z narimiran joined #lisp 2020-01-17T05:51:35Z gravicappa joined #lisp 2020-01-17T05:54:15Z oxum joined #lisp 2020-01-17T05:56:23Z oxum_ joined #lisp 2020-01-17T05:56:27Z oxum quit (Remote host closed the connection) 2020-01-17T06:02:51Z pilne quit (Quit: First shalt thou take out the Holy Pin. Then, shalt thou count to three. No more. No less.) 2020-01-17T06:04:08Z orivej joined #lisp 2020-01-17T06:11:30Z asarch joined #lisp 2020-01-17T06:11:44Z pjb: HiRE: (some #'identity list) == (find nil list :test-not 'eql) == (not (find nil list)) 2020-01-17T06:12:13Z pjb: Oops. 2020-01-17T06:12:29Z pjb: HiRE: (some #'identity list) == (find nil list :test-not 'eql) 2020-01-17T06:12:50Z HiRE: interesting. Makes sense since identity will just return the list directly into some. 2020-01-17T06:12:50Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-17T06:12:54Z HiRE: thats a clean way to do it 2020-01-17T06:13:45Z pjb: No, it's wrong. Let me think. 2020-01-17T06:13:57Z pjb: Because if find doesn't find it, it returns nil! 2020-01-17T06:16:07Z pjb: There: 2020-01-17T06:16:09Z pjb: (some #'identity list) == (position nil list :test-not 'eql) 2020-01-17T06:16:09Z pjb: (every #'identity list) == (not (position nil list)) 2020-01-17T06:16:09Z pjb: 2020-01-17T06:21:00Z torbo quit (Remote host closed the connection) 2020-01-17T06:23:12Z akoana joined #lisp 2020-01-17T06:26:34Z Nilby: And when you're familiar with those, then you can move on to the more vague temporally mutable versions: past-identity possible-position sometime once whenever and whatever. 2020-01-17T06:29:26Z HiRE: (whatever 'my-list) 2020-01-17T06:29:35Z HiRE: nondeterministic boolean function 2020-01-17T06:29:41Z HiRE: returns whatever it feels like at the moment 2020-01-17T06:30:20Z HiRE: thats on the same level of using #define in C to make your entire program read like a telegraph 2020-01-17T06:30:37Z sauvin joined #lisp 2020-01-17T06:31:13Z ebzzry joined #lisp 2020-01-17T06:34:10Z loke: (defun WHATEVER () (zerop (random 2))) 2020-01-17T06:35:22Z oxum joined #lisp 2020-01-17T06:36:47Z Nilby: Also AMB, McCarthy's "angleic operator". 2020-01-17T06:37:07Z oxum_ quit (Read error: Connection reset by peer) 2020-01-17T06:37:28Z oxum_ joined #lisp 2020-01-17T06:37:37Z Nilby: "angelic" that is 2020-01-17T06:41:03Z oxum quit (Ping timeout: 260 seconds) 2020-01-17T06:41:26Z no-defun-allowed: I've only really heard it being called the "ambiguous" operator. 2020-01-17T06:47:23Z ahungry quit (Remote host closed the connection) 2020-01-17T06:47:28Z orivej quit (Ping timeout: 260 seconds) 2020-01-17T06:48:22Z Nilby: I think it's called that since it hovers over your function and waits for it to die. 2020-01-17T06:49:47Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-17T06:50:52Z asarch quit (Quit: Leaving) 2020-01-17T06:52:26Z brown121408 quit (Ping timeout: 240 seconds) 2020-01-17T06:52:45Z brown121408 joined #lisp 2020-01-17T06:53:51Z akoana left #lisp 2020-01-17T07:00:58Z refpga joined #lisp 2020-01-17T07:01:11Z zdm quit (Remote host closed the connection) 2020-01-17T07:01:13Z ebzzry joined #lisp 2020-01-17T07:01:51Z hsaziz joined #lisp 2020-01-17T07:09:26Z aap joined #lisp 2020-01-17T07:09:32Z haziz joined #lisp 2020-01-17T07:10:12Z lclark` joined #lisp 2020-01-17T07:10:56Z oxum_ quit (Read error: Connection reset by peer) 2020-01-17T07:11:29Z oxum joined #lisp 2020-01-17T07:13:16Z payphone_ joined #lisp 2020-01-17T07:13:23Z Finnfinn_oops joined #lisp 2020-01-17T07:13:30Z pok_ joined #lisp 2020-01-17T07:16:40Z JohnMS_WORK joined #lisp 2020-01-17T07:17:51Z Ekho- joined #lisp 2020-01-17T07:18:06Z hsaziz quit (*.net *.split) 2020-01-17T07:18:06Z Necktwi quit (*.net *.split) 2020-01-17T07:18:06Z aap_ quit (*.net *.split) 2020-01-17T07:18:06Z lclark quit (*.net *.split) 2020-01-17T07:18:06Z drmeister quit (*.net *.split) 2020-01-17T07:18:07Z badgerblock quit (*.net *.split) 2020-01-17T07:18:07Z davisr quit (*.net *.split) 2020-01-17T07:18:07Z davr0s quit (*.net *.split) 2020-01-17T07:18:07Z acolarh quit (*.net *.split) 2020-01-17T07:18:57Z trittweiler quit (*.net *.split) 2020-01-17T07:18:57Z simplegauss_ quit (*.net *.split) 2020-01-17T07:18:57Z fouric quit (*.net *.split) 2020-01-17T07:18:57Z drewc quit (*.net *.split) 2020-01-17T07:18:57Z ft quit (*.net *.split) 2020-01-17T07:18:57Z cmatei quit (*.net *.split) 2020-01-17T07:18:57Z pok quit (*.net *.split) 2020-01-17T07:18:57Z nightfly quit (*.net *.split) 2020-01-17T07:18:57Z scal quit (*.net *.split) 2020-01-17T07:18:57Z bkst_ quit (*.net *.split) 2020-01-17T07:18:57Z alandipert quit (*.net *.split) 2020-01-17T07:18:57Z payphone quit (*.net *.split) 2020-01-17T07:18:57Z zigpaw quit (*.net *.split) 2020-01-17T07:18:57Z ssake quit (*.net *.split) 2020-01-17T07:18:57Z Finnfinn quit (*.net *.split) 2020-01-17T07:18:57Z cyberlard quit (*.net *.split) 2020-01-17T07:18:57Z Ekho quit (*.net *.split) 2020-01-17T07:18:57Z snits quit (*.net *.split) 2020-01-17T07:18:57Z surrealpie quit (*.net *.split) 2020-01-17T07:18:57Z glamas quit (*.net *.split) 2020-01-17T07:18:57Z cnomad quit (*.net *.split) 2020-01-17T07:18:57Z haziz is now known as hsaziz 2020-01-17T07:18:57Z pok_ is now known as pok 2020-01-17T07:20:50Z jlpeters quit (Ping timeout: 240 seconds) 2020-01-17T07:21:18Z jlpeters joined #lisp 2020-01-17T07:30:19Z dnaeon joined #lisp 2020-01-17T07:32:26Z frgo quit (Ping timeout: 240 seconds) 2020-01-17T07:34:47Z ggole joined #lisp 2020-01-17T07:36:39Z madagest joined #lisp 2020-01-17T07:40:03Z madage quit (Ping timeout: 240 seconds) 2020-01-17T07:45:05Z whiteline quit (Remote host closed the connection) 2020-01-17T07:46:25Z whiteline joined #lisp 2020-01-17T07:46:46Z whiteline quit (Read error: Connection reset by peer) 2020-01-17T07:46:57Z whiteline joined #lisp 2020-01-17T07:49:54Z xkapastel joined #lisp 2020-01-17T07:56:16Z milanj joined #lisp 2020-01-17T07:56:41Z oxum quit (Read error: Connection reset by peer) 2020-01-17T07:56:48Z varjag joined #lisp 2020-01-17T07:57:11Z oxum joined #lisp 2020-01-17T08:05:49Z Necktwi joined #lisp 2020-01-17T08:05:49Z drmeister joined #lisp 2020-01-17T08:05:49Z badgerblock joined #lisp 2020-01-17T08:05:49Z davisr joined #lisp 2020-01-17T08:05:49Z davr0s joined #lisp 2020-01-17T08:05:49Z acolarh joined #lisp 2020-01-17T08:05:49Z trittweiler joined #lisp 2020-01-17T08:05:49Z simplegauss_ joined #lisp 2020-01-17T08:05:49Z fouric joined #lisp 2020-01-17T08:05:49Z drewc joined #lisp 2020-01-17T08:05:49Z ft joined #lisp 2020-01-17T08:05:49Z cmatei joined #lisp 2020-01-17T08:05:49Z nightfly joined #lisp 2020-01-17T08:05:49Z scal joined #lisp 2020-01-17T08:05:49Z bkst_ joined #lisp 2020-01-17T08:05:49Z alandipert joined #lisp 2020-01-17T08:05:49Z zigpaw joined #lisp 2020-01-17T08:05:49Z ssake joined #lisp 2020-01-17T08:05:50Z cyberlard joined #lisp 2020-01-17T08:05:50Z snits joined #lisp 2020-01-17T08:05:50Z surrealpie joined #lisp 2020-01-17T08:05:50Z glamas joined #lisp 2020-01-17T08:05:50Z cnomad joined #lisp 2020-01-17T08:08:04Z mfiano2 quit (Remote host closed the connection) 2020-01-17T08:09:04Z thecoffemaker quit (Ping timeout: 268 seconds) 2020-01-17T08:11:30Z thecoffemaker joined #lisp 2020-01-17T08:11:32Z thecoffemaker quit (Changing host) 2020-01-17T08:11:32Z thecoffemaker joined #lisp 2020-01-17T08:13:28Z frgo joined #lisp 2020-01-17T08:15:32Z scymtym joined #lisp 2020-01-17T08:25:26Z shka_: good day! 2020-01-17T08:26:30Z smokeink: good Day 2020-01-17T08:32:06Z shka_: quick, general question, how to quickly generate colormaps? 2020-01-17T08:32:17Z shka_: maybe there is already some sort of library for that 2020-01-17T08:33:27Z jackdaniel: could you elaborate what do you mean by a colormap? and what representation is that you are expecting? 2020-01-17T08:34:51Z shka_: colormap as those found in software like matlab, that is: way to visualize value from 0.0 to 1.0 as a color from the range 2020-01-17T08:35:17Z shka_: https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/submissions/35242/versions/3/previews/html/Colormap_Chart_01.png 2020-01-17T08:35:21Z shka_: this kind of thing 2020-01-17T08:36:48Z no-defun-allowed: Some of those look like a gradient that just changes the hue, saturation or brightness. 2020-01-17T08:39:08Z no-defun-allowed: A first approximation could be to set up a HSV tuple for the minimum and another for the maximum, then lerp between those in a loop to generate the colours. 2020-01-17T08:39:23Z jackdaniel: clim could provide you with some primitives (it has functions for ihs and rgb color manipulation) 2020-01-17T08:39:41Z rwcom2 joined #lisp 2020-01-17T08:39:44Z jackdaniel: but there is no built-in function to generate a function [0;1] -> [r;g;b] 2020-01-17T08:40:04Z jackdaniel: [0;1] -> (r g b) 2020-01-17T08:41:49Z rwcom quit (Ping timeout: 272 seconds) 2020-01-17T08:41:49Z rwcom2 is now known as rwcom 2020-01-17T08:56:18Z scymtym: i found that for rasterizing gradient-like things in mcclim, patterns work pretty well: https://techfak.de/~jmoringe/mcclim-color-picker.png 2020-01-17T08:59:36Z Shinmera: shka_: You can just use something like this https://github.com/Shinmera/colored/blob/master/ops.lisp#L239-L253 2020-01-17T09:00:29Z _fe_ joined #lisp 2020-01-17T09:03:30Z hhdave joined #lisp 2020-01-17T09:06:41Z hhdave quit (Client Quit) 2020-01-17T09:11:22Z tiwEllien joined #lisp 2020-01-17T09:12:11Z hhdave joined #lisp 2020-01-17T09:12:30Z shka_: Shinmera: thanks! 2020-01-17T09:12:35Z shka_: jackdaniel: thanks! 2020-01-17T09:18:15Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-17T09:36:19Z rumbler31 joined #lisp 2020-01-17T09:37:02Z davepdotorg joined #lisp 2020-01-17T09:40:53Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-17T09:42:31Z Cymew quit (Quit: Konversation terminated!) 2020-01-17T09:42:43Z Cymew joined #lisp 2020-01-17T09:49:22Z jprajzne joined #lisp 2020-01-17T09:51:21Z oxum_ joined #lisp 2020-01-17T09:51:26Z oxum quit (Read error: Connection reset by peer) 2020-01-17T09:52:05Z Cymew quit (Quit: Konversation terminated!) 2020-01-17T09:52:20Z Cymew joined #lisp 2020-01-17T09:58:08Z frgo quit (Remote host closed the connection) 2020-01-17T10:01:28Z holycow quit (Quit: Lost terminal) 2020-01-17T10:04:50Z frgo joined #lisp 2020-01-17T10:06:01Z decent-username joined #lisp 2020-01-17T10:06:41Z jonatack quit (Ping timeout: 272 seconds) 2020-01-17T10:08:13Z KD35 joined #lisp 2020-01-17T10:08:50Z frgo quit (Ping timeout: 240 seconds) 2020-01-17T10:09:03Z mingus quit (Read error: Connection reset by peer) 2020-01-17T10:09:27Z KD35: hello 2020-01-17T10:11:55Z mingus joined #lisp 2020-01-17T10:12:00Z quazimod1 joined #lisp 2020-01-17T10:13:45Z quazimodo quit (Ping timeout: 265 seconds) 2020-01-17T10:14:13Z KD35: I'm trying to make multiple :where clause using Mito but I'm in struggle. Would somebody be able to help? 2020-01-17T10:14:15Z hsaziz quit (Ping timeout: 268 seconds) 2020-01-17T10:16:04Z KD35: What I've tried is like this, (mito:select-dao 'post (mapcan (lambda (k) `(sxql:where (:like :title (concatenate 'string "%%" ,k "%%")))) keywords)) 2020-01-17T10:17:49Z KD35: I would appreciate for any hint. 2020-01-17T10:18:28Z jdz: KD35: How do you expect those where clauses to be combined? 2020-01-17T10:19:06Z jdz: I'd expect a single sxql:where with the multiple criteria combined using AND or OR. 2020-01-17T10:20:10Z KD35: 2020-01-17T10:20:11Z KD35: (mito:select-dao 'post (sxql:where (:like :title "%lisp%" )) (sxql:where (:like :title "%sbcl%" ))) 2020-01-17T10:20:49Z jdz: KD35: you did not answer my question. 2020-01-17T10:21:00Z KD35: this code would work and I want to get keywords as a list of ("lisp" "sbcl") 2020-01-17T10:22:00Z jdz: KD35: you want posts with both of those keywords, or any of them? 2020-01-17T10:22:13Z KD35: any ot them 2020-01-17T10:22:38Z jdz: KD35: So how do you expect mito to figure that out on its own? You have not specified that. 2020-01-17T10:22:41Z KD35: # 2020-01-17T10:22:52Z jdz: KD35: Have you put the "AND" anywhere? 2020-01-17T10:22:54Z KD35: sorry the result of above was AND but I want OR 2020-01-17T10:23:13Z z147 joined #lisp 2020-01-17T10:23:21Z rippa joined #lisp 2020-01-17T10:23:47Z jdz: I'd expect something like (sxql:where (:or (:like :title "...") (:like :title "..."))). 2020-01-17T10:24:40Z KD35: ah you are corect. That's what I want. 2020-01-17T10:25:37Z KD35: But anyway the point here is that I would like to use keywords list. 2020-01-17T10:27:25Z KD35: I thought Mito will provide such a functionality but I couldn't find. So I tried to solve using macro and didn't work. 2020-01-17T10:27:56Z jdz: If all that did not work was the default of AND instead of OR, then you have your answer. 2020-01-17T10:28:36Z jdz: (mito:select-dao 'post (sxql:where (:or `(mapcan ...)))) 2020-01-17T10:29:17Z dddddd joined #lisp 2020-01-17T10:31:41Z jdz: Umm, the backquote does not seem right, but you hopefully get the idea. 2020-01-17T10:32:19Z KD35: Thank you for your advice. I'm trying it now. 2020-01-17T10:37:06Z oni-on-ion quit (Remote host closed the connection) 2020-01-17T10:37:25Z oni-on-ion joined #lisp 2020-01-17T10:37:29Z william1 joined #lisp 2020-01-17T10:41:43Z oxum_ quit (Ping timeout: 258 seconds) 2020-01-17T10:44:56Z no-defun-allowed: minion: memo for another-user: I came up with another trick for the brainfuck compiler; replacing the TAPE structure with two local variables drops the execution to 3 seconds on Clozure with the Mandelbrot program (and somehow it makes the SBCL compiler hang) which is 1/3 of the time the last compiler took. 2020-01-17T10:44:56Z minion: Remembered. I'll tell another-user when he/she/it next speaks. 2020-01-17T10:45:59Z frgo joined #lisp 2020-01-17T10:48:49Z no-defun-allowed: I wonder what makes the SBCL compiler hang on the generated code. It's a lot of code, sure, but it takes more than 30 seconds to compile and the only change was replacing the structure with local variables. 2020-01-17T10:49:32Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-17T10:50:18Z scymtym: no-defun-allowed: is the code available? 2020-01-17T10:51:01Z frgo quit (Ping timeout: 272 seconds) 2020-01-17T10:51:02Z no-defun-allowed: The compiler, the generated CL code, or both? 2020-01-17T10:52:01Z oxum joined #lisp 2020-01-17T10:52:08Z scymtym: if the compiler is self-contained, the compiler. and the problematic input program, probably. if it isn't too much trouble 2020-01-17T10:52:14Z jdz: no-defun-allowed: how do the two variables simulate a tape? 2020-01-17T10:52:33Z no-defun-allowed: The compiler is https://plaster.tymoon.eu/view/1642#1642 and it compiles https://raw.githubusercontent.com/kostya/benchmarks/master/brainfuck2/mandel.b to about 10,000 pretty printed lines of CL. 2020-01-17T10:52:43Z scymtym: no-defun-allowed: thanks 2020-01-17T10:52:50Z tiwEllien quit (Ping timeout: 258 seconds) 2020-01-17T10:53:05Z no-defun-allowed: jdz: One for the data, and one for the head address. I slack off like most implementations and use a finite-but-pretty-large tape. 2020-01-17T10:53:52Z jdz: I once wanted something similar, so I used two lists; moving through the "tape" would be popping elements from one list and pushing them to the other. Inserting at current position would be pushing to one of them, depending on whether it has to be inserted left or right of the "cursor". 2020-01-17T10:54:10Z tiwEllien joined #lisp 2020-01-17T10:54:11Z smokeink quit (Ping timeout: 272 seconds) 2020-01-17T10:54:23Z jdz: But using lists instead of a vector might have the obvious drawback. 2020-01-17T10:54:39Z no-defun-allowed: Yeah, I saw an implementation in Lisp do that. Specialised arrays are usually faster though, and we're playing a benchmark which is a very stupid game. 2020-01-17T10:55:20Z karlosz quit (Quit: karlosz) 2020-01-17T10:55:28Z beach: I know very little about this thing, but do you need insert/delete at arbitrary positions of the "tape"? 2020-01-17T10:55:46Z beach: If so, a Flexichain should be much better than a list. 2020-01-17T10:56:12Z jdz: no-defun-allowed: It's also funny that your implementation starts at the middle of the tape, and what I saw in other language entries is that they start at the beginning. 2020-01-17T10:57:12Z no-defun-allowed: beach: As in taking the "tape" (A B) and inserting C to get (A B C)? The target language only could write to get (A C) or (C B), depending on the head's position. 2020-01-17T10:57:25Z jonatack joined #lisp 2020-01-17T10:57:26Z lansiir quit (Remote host closed the connection) 2020-01-17T10:58:04Z boeg: What type does slot-values like `(:documentation "a docstring")` have? Like what are they? They don't appear to be like a cons or a list as far as I can see 2020-01-17T10:58:25Z no-defun-allowed: (The six instructions are to move the head either way, increment or decrement the value on the tape at the head, print the value at the head and loop.) 2020-01-17T10:59:51Z karlosz joined #lisp 2020-01-17T11:01:07Z frgo joined #lisp 2020-01-17T11:03:18Z jmercouris joined #lisp 2020-01-17T11:03:36Z boeg: actually seems they are just list 2020-01-17T11:05:57Z frgo quit (Remote host closed the connection) 2020-01-17T11:06:43Z frgo joined #lisp 2020-01-17T11:09:56Z william1 quit (Ping timeout: 268 seconds) 2020-01-17T11:17:03Z karlosz quit (Quit: karlosz) 2020-01-17T11:29:38Z jmercouris: how to test if connectivity to internet is available? drakma? 2020-01-17T11:30:50Z trittweiler_ quit (Ping timeout: 240 seconds) 2020-01-17T11:30:55Z Nilby quit (Ping timeout: 272 seconds) 2020-01-17T11:30:58Z galdor: "connectivity to internet" is not a one or zero thing 2020-01-17T11:31:09Z jmercouris: Yeah, that's a tough thing isn't it 2020-01-17T11:31:20Z jmercouris: how do I know if there just isn't an insane delay for packet loss or whatever 2020-01-17T11:31:23Z galdor: if you want to test if you can access a specific internet service, just try and see what happens 2020-01-17T11:31:29Z hsaziz joined #lisp 2020-01-17T11:31:38Z no-defun-allowed: (usocket:socket-connect "1.1.1.1" 80) ;; provided you don't mind giving CloudFlare (or substitute for your own big company) a TCP connection 2020-01-17T11:31:41Z galdor: if you want to check for packet loss, it's a tricky subject, you may want to read about ICMP 2020-01-17T11:31:58Z jmercouris: I'll avoid X-Y'ing here 2020-01-17T11:32:09Z jmercouris: basically I want to check in Next if the user has a suitable internet connection, and if not, show the help page 2020-01-17T11:32:25Z jmercouris: I'm thinking probably I should try to use usocket as no-defun-allowed said and check their home page 2020-01-17T11:32:26Z galdor: you're the author of Next ? congrats ! 2020-01-17T11:32:30Z galdor: it's an interesting project 2020-01-17T11:32:36Z jmercouris: thank you :-), yes I am 2020-01-17T11:32:50Z galdor: yeah, and then the browser will tell you internet is down because an admin blocked 1.1.1.1 on the network 2020-01-17T11:33:26Z galdor: the right way is to try to access the page normally, and handle socket errors to infer the possible causes of the errors 2020-01-17T11:33:35Z no-defun-allowed: jmercouris did then say "their home page", which I imagine is somewhat less likely to be blocked. 2020-01-17T11:33:46Z galdor: it's still wrong in general 2020-01-17T11:34:02Z jmercouris: perhaps drakma is the way then, try to fetch the home page 2020-01-17T11:34:07Z galdor: it's a bit like trying to check if a file is readable by various mechanisms before, you know, trying to read it 2020-01-17T11:34:50Z galdor: Next uses drakma for HTTP ? and CL+SSL ? 2020-01-17T11:34:57Z jmercouris: Not exactly no 2020-01-17T11:34:59Z jmercouris: Sometimes, yes 2020-01-17T11:35:19Z jmercouris: dexador sometimes 2020-01-17T11:35:39Z jmercouris: there is per-buffer VPN, Proxy, download, sometimes the web renderer port stack will load an asset, sometimes lisp directly 2020-01-17T11:36:55Z rumbler31 joined #lisp 2020-01-17T11:38:37Z amerlyq joined #lisp 2020-01-17T11:40:56Z william1 joined #lisp 2020-01-17T11:41:43Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-17T11:43:15Z scymtym: no-defun-allowed: Python tracks more properties for lexical variables than for structure slots. in this case it creates a million (quite literally) integer range types for the various variables (mainly POSITION, i think) and performs operations, mostly TYPE= in this case, on them 2020-01-17T11:44:40Z no-defun-allowed: Oh, fair enough then. Does it try to constrain my declarations further? 2020-01-17T11:48:02Z scymtym: i think (let ((position …)) (incf position) (incf position) …) leads to a fresh integer range type being associated with each program point, but i haven't looked that closely 2020-01-17T11:50:30Z no-defun-allowed: Right. 2020-01-17T11:52:44Z no-defun-allowed: One idea I'll test tomorrow (heading off to bed now) is putting each instruction in a FLET and inlining those functions. Would that avoid that inference (if you know off the top of your head)? 2020-01-17T11:53:20Z whiteline quit (Remote host closed the connection) 2020-01-17T11:53:52Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-17T11:54:02Z whiteline joined #lisp 2020-01-17T11:54:17Z scymtym: i think it would, but not sure 2020-01-17T11:54:46Z scymtym: even better would be if SBCL could just handle that code, of course 2020-01-17T11:54:49Z atgreen joined #lisp 2020-01-17T11:55:14Z gxt joined #lisp 2020-01-17T11:56:03Z no-defun-allowed: Sure. That probably is pathological stuff though, I don't think it's a problem that SBCL can't compile it quickly. 2020-01-17T11:56:14Z Lord_of_Life_ joined #lisp 2020-01-17T11:57:14Z scymtym: true 2020-01-17T11:58:09Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-01-17T11:59:07Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-17T12:04:13Z flip214: luis: how about an option to increase slime hex message length indicator to 8 digits? 2020-01-17T12:06:33Z whiteline quit (Ping timeout: 260 seconds) 2020-01-17T12:13:08Z whiteline joined #lisp 2020-01-17T12:15:31Z orivej joined #lisp 2020-01-17T12:16:58Z milanj quit (Quit: This computer has gone to sleep) 2020-01-17T12:23:39Z brown121407 joined #lisp 2020-01-17T12:23:40Z brown121408 quit (Read error: Connection reset by peer) 2020-01-17T12:24:22Z william1 quit (Ping timeout: 268 seconds) 2020-01-17T12:30:35Z asdf_asdf_asdf joined #lisp 2020-01-17T12:35:35Z KD35 quit (Remote host closed the connection) 2020-01-17T12:39:13Z m00natic joined #lisp 2020-01-17T12:43:40Z hsaziz quit (Ping timeout: 268 seconds) 2020-01-17T12:50:01Z smokeink joined #lisp 2020-01-17T12:53:48Z milanj joined #lisp 2020-01-17T12:59:52Z random-nick joined #lisp 2020-01-17T13:01:29Z milanj quit (Quit: This computer has gone to sleep) 2020-01-17T13:03:23Z decent-username quit (Ping timeout: 272 seconds) 2020-01-17T13:04:51Z varjag joined #lisp 2020-01-17T13:12:08Z Xach: 2020-01-17T13:12:53Z jmercouris quit (Ping timeout: 272 seconds) 2020-01-17T13:15:58Z jonatack quit (Ping timeout: 265 seconds) 2020-01-17T13:22:37Z rumbler31 joined #lisp 2020-01-17T13:23:38Z _jrjsmrtn joined #lisp 2020-01-17T13:26:07Z __jrjsmrtn__ quit (Ping timeout: 265 seconds) 2020-01-17T13:27:42Z rumbler31 quit (Ping timeout: 258 seconds) 2020-01-17T13:30:53Z beach: no-defun-allowed: OK, I see. Thanks. 2020-01-17T13:31:11Z beach: boeg: That's not a slot. It's a documentation string. 2020-01-17T13:41:25Z boeg: beach: yes but isnt is saved as a slot value anyways? Anyways, its just a list i found out 2020-01-17T13:43:00Z beach: Yes, it is stored as a slot when it is a class or a generic function for instance, or a slot too as I recall. 2020-01-17T13:43:16Z beach: Then it is accessible using the function DOCUMENTATION. 2020-01-17T13:44:45Z ebrasca joined #lisp 2020-01-17T13:44:46Z gaqwas joined #lisp 2020-01-17T13:46:50Z montaropdf joined #lisp 2020-01-17T13:48:03Z atgreen quit (Ping timeout: 260 seconds) 2020-01-17T13:48:33Z boeg: beach: yes, thank you 2020-01-17T13:55:03Z _death: no-defun-allowed: still it might just be low-hanging fruit to get it to compile faster.. e.g., during compilation I C-c C-c'd and it was at some pushnew form to component-reanalyze-functionals, which is a set represented as a list.. it was used in few places so I replaced it with a hash table (sbcl likely has a better representation for sets) .. this shaved a few seconds from compilation 2020-01-17T13:57:36Z kenu joined #lisp 2020-01-17T13:57:53Z kenu: hi 2020-01-17T13:58:28Z scymtym_ joined #lisp 2020-01-17T13:58:39Z Bike joined #lisp 2020-01-17T14:00:04Z kenu: I've got a problem with postmodern's insert-dao, I've got (setq s-sql:*escape-sql-names-p* :literal), but then there is following error on inserting a record Database error 42703: column "updatedat" of relation "actions" does not exist 2020-01-17T14:00:04Z kenu: QUERY: INSERT INTO "actions" ("updatedat", "createdat", "actiontype", "referer", "visitorip", "productid", "visitorid", "shopuserid", "userid") VALUES ("$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9") RETURNING "shoptransactionid", "actionid" 2020-01-17T14:00:37Z scymtym quit (Ping timeout: 260 seconds) 2020-01-17T14:00:59Z _death: kenu: well, does it exist or not? 2020-01-17T14:01:48Z kenu: it doesn't but the actual question is how do I ahndle cammelCase column names with dao 2020-01-17T14:02:26Z _death: I'm guessing |updatedAt| though I've not used postmodern in a while 2020-01-17T14:02:48Z kenu: the actual column names in db are as follow updatedAt createdAt and so on 2020-01-17T14:05:50Z _death: :col-name "updatedAt" in the dao class should work 2020-01-17T14:10:41Z oxum_ joined #lisp 2020-01-17T14:12:17Z hhdave quit (Ping timeout: 260 seconds) 2020-01-17T14:12:17Z smokeink quit (Ping timeout: 268 seconds) 2020-01-17T14:13:36Z Xach: oh crud. 2020-01-17T14:13:42Z oxum_ quit (Remote host closed the connection) 2020-01-17T14:13:45Z Xach needs to update ops5 to use named-readtables 2020-01-17T14:13:46Z hhdave joined #lisp 2020-01-17T14:14:18Z oxum quit (Ping timeout: 260 seconds) 2020-01-17T14:16:15Z LiamH joined #lisp 2020-01-17T14:17:05Z lucasb joined #lisp 2020-01-17T14:17:12Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-17T14:18:06Z kenu: once the columns are correct in cammel case I've got following error 2020-01-17T14:18:09Z kenu: ebugger invoked on a CL-POSTGRES-ERROR:UNDEFINED-COLUMN in thread 2020-01-17T14:18:09Z kenu: #: 2020-01-17T14:18:09Z kenu: Database error 42703: column "$1" does not exist 2020-01-17T14:18:09Z kenu: QUERY: INSERT INTO "actions" ("updatedAt", "createdAt", "actionType", "referer", "visitorIp", "productId", "visitorId", "shopUserId", "userId") VALUES ("$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9") RETURNING "shopTransactionId", "actionId" 2020-01-17T14:20:45Z reimu_ joined #lisp 2020-01-17T14:21:27Z thecoffemaker quit (Read error: Connection reset by peer) 2020-01-17T14:21:27Z milanj joined #lisp 2020-01-17T14:25:27Z galdor: positional parameters should not be quoted, and certainly not with double quotes 2020-01-17T14:26:05Z harovali joined #lisp 2020-01-17T14:28:06Z pfdietz joined #lisp 2020-01-17T14:29:40Z oxum joined #lisp 2020-01-17T14:30:21Z kenu: yes, but that's produced by insert-dao 2020-01-17T14:34:35Z oxum quit (Ping timeout: 272 seconds) 2020-01-17T14:35:25Z patlv joined #lisp 2020-01-17T14:37:20Z Xach: kenu: can you show the code? 2020-01-17T14:38:09Z reimu__ joined #lisp 2020-01-17T14:38:12Z asdf_asdf_asdf joined #lisp 2020-01-17T14:39:02Z _death: Xach: it's cool to resurrect such projects :) 2020-01-17T14:40:50Z reimu_ quit (Ping timeout: 265 seconds) 2020-01-17T14:40:52Z dmc00 left #lisp 2020-01-17T14:41:09Z chimneys joined #lisp 2020-01-17T14:41:28Z chimneys: what's the equivalent of eval (+ 2 3) in lisp 2020-01-17T14:41:46Z chimneys: I read gigamonkeys book am unable to eval 2020-01-17T14:41:54Z beach: chimneys: That *is* a valid Common Lisp expression. 2020-01-17T14:42:13Z beach: chimneys: Just type it to your REPL. 2020-01-17T14:42:22Z chimneys: no ( + 2 3) needs eval, without repl , hence the query 2020-01-17T14:42:31Z dlowe: chimneys: You want (eval '(+ 2 3)) but you really need to understand why 2020-01-17T14:43:25Z dlowe: and also if you want to store input code to be executed later, you're much better off wrapping it in a function and storing the result of CL:COMPILE to call later 2020-01-17T14:43:26Z jackdaniel: if you put (+ 2 3) in your source code it will be evaluated unless explicitly quoted 2020-01-17T14:43:35Z jackdaniel: (print (+ 2 3)) if you want a visible side effect 2020-01-17T14:43:39Z Inline joined #lisp 2020-01-17T14:43:55Z beach: chimneys: This is the place where we typically ask "What is it that you *really* want to do?" 2020-01-17T14:44:13Z pfdietz: eval is almost never the right thing to be doing. 2020-01-17T14:44:55Z chimneys: jupyter notebooks %%writefile file.cl \n code.. shift+enter to get new cell then !clisp file.cl 2020-01-17T14:45:02Z rumbler31 joined #lisp 2020-01-17T14:45:03Z pfdietz: (and I say that as someone who does use it on occasion, but only when it's appropriate) 2020-01-17T14:45:14Z jackdaniel: a) learn, b) troll, c) move on, d) eval 2020-01-17T14:45:38Z jackdaniel: (I've suggested 4 answers to the typical question) 2020-01-17T14:45:54Z oxum joined #lisp 2020-01-17T14:46:36Z kenu: (defclass |actions| () 2020-01-17T14:46:36Z kenu: ((|actionId| :col-type (or db-null integer) :initarg :action-id 2020-01-17T14:46:36Z kenu: :reader |action-actionId|) 2020-01-17T14:46:36Z kenu: (|userId| :col-type (or db-null integer) :initarg :user-id 2020-01-17T14:46:36Z kenu: :reader |action-userId|) 2020-01-17T14:46:37Z kenu: (|shopUserId| :col-type (or db-null integer) :initarg :shop-user-id 2020-01-17T14:46:39Z kenu: :reader |action-shopUserId|) 2020-01-17T14:46:41Z kenu: (|shopTransactionId| :col-type (or db-null integer) :initarg :shop-transaction-id 2020-01-17T14:46:43Z kenu: :reader |action-shopTransactionId|) 2020-01-17T14:46:45Z kenu: (|visitorId| :col-type (or db-null integer) :initarg :visitor-id 2020-01-17T14:46:47Z kenu: :accessor |action-visitorId|) 2020-01-17T14:46:49Z kenu: (|productId| :col-type (or db-null integer) :initarg :product-id 2020-01-17T14:46:50Z Bike: don't paste more than one line of code, please, kenu 2020-01-17T14:46:51Z kenu: :accessor |action-productId|) 2020-01-17T14:46:55Z jackdaniel: please do not multiline-post (use a pastebin service of some sort) 2020-01-17T14:46:55Z kenu: (|visitorIp| :col-type string :initarg :visitor-ip 2020-01-17T14:46:57Z kenu: :accessor |action-visitorIp|) 2020-01-17T14:46:59Z kenu: (|referer| :col-type string :initarg :referer 2020-01-17T14:47:01Z kenu: :accessor |action-referer|) 2020-01-17T14:47:03Z ChanServ has set mode +o jackdaniel 2020-01-17T14:47:03Z kenu: (|actionType| :col-type string :initarg :action-type 2020-01-17T14:47:04Z ChanServ has set mode +o Xach 2020-01-17T14:47:05Z kenu: :accessor |action-actionType|) 2020-01-17T14:47:06Z kenu [~jackdanie@turtleware.eu] has been kicked from #lisp by jackdaniel (kenu) 2020-01-17T14:47:09Z Xach has set mode -o Xach 2020-01-17T14:47:10Z jackdaniel: first 2020-01-17T14:47:14Z jackdaniel has set mode -o jack_rabbit 2020-01-17T14:47:16Z jackdaniel has set mode -o jackdaniel 2020-01-17T14:47:44Z Bike: it's kind of bizarre when you can tell they're just pasting inexorably and can't stop 2020-01-17T14:47:59Z jonatack joined #lisp 2020-01-17T14:49:54Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-17T14:49:58Z kenu joined #lisp 2020-01-17T14:50:01Z kenu: https://pastebin.com/q1hy1uEg 2020-01-17T14:50:02Z kenu: :P 2020-01-17T14:50:02Z oxum quit (Ping timeout: 240 seconds) 2020-01-17T14:50:10Z jackdaniel: kenu: thank you 2020-01-17T14:50:40Z phoe: 15:47 -!- mode/#lisp [-o jack_rabbit] by jackdaniel 2020-01-17T14:50:49Z dlowe: There are irc clients that automatically pastebin large pastes 2020-01-17T14:50:51Z jackdaniel: yes, I've stripped jack_rabbit from privigiles multiple times 2020-01-17T14:50:58Z phoe: :( 2020-01-17T14:51:00Z phoe: poor thing 2020-01-17T14:51:16Z jackdaniel: I feel bad about it, otoh he didn't lose anything, just like with priate copies of software ,) 2020-01-17T14:52:31Z jdz: kenu: You don't have to escape the accessors in your DEFCLASS. 2020-01-17T14:52:51Z patlv_ joined #lisp 2020-01-17T14:53:11Z jdz: And I'd expect there to be a slot and class options to provide case-sensitive names for columns and table name. 2020-01-17T14:53:30Z oxum joined #lisp 2020-01-17T14:53:41Z dale_ joined #lisp 2020-01-17T14:54:03Z dale_ is now known as dale 2020-01-17T14:54:59Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-17T14:55:27Z Cymew quit (Ping timeout: 268 seconds) 2020-01-17T14:56:50Z jdz: kenu: :col-name and :table-name, if I'm reading the documentation correctly. 2020-01-17T14:59:57Z oxum quit (Ping timeout: 268 seconds) 2020-01-17T15:01:14Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-17T15:02:17Z X-Scale` joined #lisp 2020-01-17T15:02:40Z jmercouris joined #lisp 2020-01-17T15:02:57Z jmercouris: since declaim is implementation dependent, is it possibly that it could signal a condition in some implementations? 2020-01-17T15:03:15Z X-Scale` is now known as X-Scale 2020-01-17T15:03:28Z Bike: sure, why not? (declaim 4) probably would 2020-01-17T15:03:48Z jmercouris: should declaim therefore be avoided in implementation independent code as it may cause issues? 2020-01-17T15:03:53Z Shinmera: anything can signal a condition (stack exhausted, memory exhausted, etc.) 2020-01-17T15:03:56Z Bike: uh, no? what? 2020-01-17T15:04:20Z Bike: if you use declaim/proclaim with a valid declaration specifier it shouldn't signal an error. 2020-01-17T15:04:29Z Bike: in the same way (+ 3 4) will probably not signal an error 2020-01-17T15:04:29Z jmercouris: shouldn't is different than cannot 2020-01-17T15:04:59Z Bike: proclaim is not particularly different from any function in the standard in terms of when it signals 2020-01-17T15:05:07Z Odin-: In that case you shouldn't do anything, because you can't be sure the implementation actually implements the standard. 2020-01-17T15:05:15Z Bike: right. 2020-01-17T15:05:30Z jmercouris: the CLHS doesn't say that declaim WONT do something undesirable 2020-01-17T15:05:37Z jmercouris: I just want to know if I should avoid it or not 2020-01-17T15:05:52Z jmercouris: will it cause me issues with portability if I am to use it? 2020-01-17T15:06:00Z Bike: Not any more than calling + or PRINT would. 2020-01-17T15:06:03Z sjl_ joined #lisp 2020-01-17T15:06:04Z jmercouris: OK, thank you 2020-01-17T15:06:09Z Bike: I don't understand why you think declaim is special in this aspect. 2020-01-17T15:06:29Z Odin-: If it does cause any kind of issue, that would be an implementation bug, not a bug in your code. 2020-01-17T15:06:52Z _death: indeed.. and if you use nonstandard declarations, you may be able to use (declaim (declaration ...)) to tell other implementations to not warn 2020-01-17T15:08:29Z ralt joined #lisp 2020-01-17T15:09:08Z _death: (but likely don't want to read the declaration name symbols anyway) 2020-01-17T15:09:46Z jmercouris: I see 2020-01-17T15:10:08Z Bike: I mean if you have a reason to think declaim is especially dangerous I'd like to hear it 2020-01-17T15:10:37Z jmercouris: I am just trying not to assume anything, that's all 2020-01-17T15:10:57Z jmercouris: I have it a lot in my codebase, was just questioning it 2020-01-17T15:11:51Z Bike: i see 2020-01-17T15:12:22Z _death: I think I used declaration declaration once :) 2020-01-17T15:14:53Z _death: for https://github.com/death/horae 2020-01-17T15:19:06Z pfdietz: I used declaration declarationyesterday! 2020-01-17T15:19:14Z pfdietz: (adds space) 2020-01-17T15:19:24Z _death: what was it for? 2020-01-17T15:20:02Z pfdietz: The problem was to turn off inlining in a package. I did that by (conditionally) shadowing the symbol INLINE, then declaring the new symbol to be a declaration (which is then ignored). 2020-01-17T15:20:25Z _death: sneaky 2020-01-17T15:20:57Z _death: reminds me of #define private public 2020-01-17T15:21:06Z jackdaniel: very useful technique ;) 2020-01-17T15:21:26Z jonatack quit (Ping timeout: 265 seconds) 2020-01-17T15:21:29Z pfdietz: Sneaky is when I write a macroexpand hook to automatically add the shadowing to a defpackage form at macroexpansion time. 2020-01-17T15:23:57Z patlv_ quit (Read error: Connection reset by peer) 2020-01-17T15:24:24Z patlv_ joined #lisp 2020-01-17T15:32:03Z phoe: pfdietz: yes, that was a very good hack 2020-01-17T15:33:50Z Xach: but what about uiop:define-me-a-package 2020-01-17T15:34:12Z jmercouris: Xach: you get me there, I tried to find uiop:define-me-a-package 2020-01-17T15:34:19Z oxum joined #lisp 2020-01-17T15:34:24Z jmercouris: I must have a too old verison of uiop :P 2020-01-17T15:34:28Z pfdietz quit (Remote host closed the connection) 2020-01-17T15:35:16Z phoe: (uiop:make-me-a-sandwich :sudo t) 2020-01-17T15:37:21Z refpga quit (Remote host closed the connection) 2020-01-17T15:37:30Z Shinmera: Colleen: make me a sandwich 2020-01-17T15:37:30Z Colleen: Not even in your dreams, buddy. 2020-01-17T15:37:46Z refpga joined #lisp 2020-01-17T15:38:18Z _death: Colleen: sudo make me a sandwich 2020-01-17T15:38:18Z Colleen: Unknown command. Possible matches: 8, set, say, mop, get, time, tell, roll, help, deny, 2020-01-17T15:44:58Z tiwEllien quit (Quit: WeeChat 2.7) 2020-01-17T15:45:52Z rumbler31 joined #lisp 2020-01-17T15:47:25Z patlv_ quit (Ping timeout: 272 seconds) 2020-01-17T15:48:43Z jmercouris: Shinmera: does Colleen perform the logging for you? 2020-01-17T15:48:55Z Shinmera: among other things yes 2020-01-17T15:48:55Z jmercouris: or is that a different program? 2020-01-17T15:50:55Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-17T15:53:14Z chimneys: opusmodus vs openmusic what's the difference 2020-01-17T15:54:06Z pjb: Bike: declaim forms are data for the CL compilers, and for any tool that will take the source as input. Therefore it is as dangerous as any data. (declaim (launch-missile :type supersonic :target-coordinate (find-current-coordinate 'Bike))) if you happen to process this source with a program that is connected to the Russian missile network, you're toast… 2020-01-17T15:54:15Z tiwEllien joined #lisp 2020-01-17T15:54:28Z montaropdf quit (Quit: Bon week-end) 2020-01-17T15:54:52Z Xach: chimneys: they are different programs for different purposes. 2020-01-17T15:55:52Z pjb: jmercouris: the only thing of declaim and proclaim, is that they may mutate some global state. For example, the optimization levels. And there is no introspection of the declared (or declaimed) declarations! Therefore it is bad to use proclaim or declaim as toplevel forms in libraries! 2020-01-17T15:56:41Z Demosthenex: is there a cl lib for pgp or gpg? i was discussing doing a POC password repo and that came up. my google-fu can't seem to find a straight answer 2020-01-17T15:57:01Z pjb: jmercouris: you can instead write and export a function that will call proclaim to declare the things like you'd want them, and let the user call it. Of course, if you want to declaim stuff for compilation time, the user will have to load this function before compiling your library which can be difficult if this function is in your library… 2020-01-17T15:57:07Z chimneys: xach ok 2020-01-17T15:57:23Z pjb: Demosthenex: there's ironclad for cryptography. 2020-01-17T15:58:04Z Xach: Demosthenex: i don't know of one. 2020-01-17T15:58:23Z jmercouris: pjb: hm, cat and mouse problem 2020-01-17T15:58:27Z Xach: Demosthenex: the primitives are implemented in ironclad, but not drawn together in the overall format. 2020-01-17T15:58:33Z Demosthenex: pjb: i was reading that, it's a cl native crypto lib, but it also said limited support for public key crypto 2020-01-17T15:59:27Z refpga quit (Remote host closed the connection) 2020-01-17T15:59:28Z jmercouris: pjb: no wait, chicken and egg, sorry 2020-01-17T15:59:28Z pfdietz joined #lisp 2020-01-17T15:59:32Z Demosthenex: grepping through quicklisp code, i'm seeing shell calls to gpg on occasion 2020-01-17T15:59:43Z Xach: i have implemented protocol-compliant signature verification but i am not interested in implementating encryption/decryption 2020-01-17T15:59:58Z Odin-: Crypto is hard. 2020-01-17T16:00:00Z chimneys: Xach: on a side note, emacs does render graphics like tetris,images ,etc how? 2020-01-17T16:00:04Z _death: Demosthenex: there's https://github.com/gpg/gpgme/tree/master/lang/cl 2020-01-17T16:00:15Z jmercouris: chimneys: it is a long story, and not for this channel 2020-01-17T16:00:20Z Odin-: chimneys: Emacs is its own environment. 2020-01-17T16:01:10Z Demosthenex: Odin-: i agree completely. which is why i was looking for a library 2020-01-17T16:01:26Z pjb: jmercouris: what I do, is write a separate, "tool" library, and instruct to load it first, use it to configure things, and then compile and load the target library. 2020-01-17T16:01:51Z pjb: jmercouris: this way the user is responsible for configuring his environment. 2020-01-17T16:02:23Z Demosthenex: _death: hey, that's a good find. a library for a wrapper lib ;] 2020-01-17T16:05:18Z Necktwi quit (Read error: Connection reset by peer) 2020-01-17T16:05:31Z Necktwi joined #lisp 2020-01-17T16:05:43Z HiRE: Is there a nice way to expland a number into a list of bytes? For example, if I want a 4 byte representation of 13 in hex, I would get (#x00 #x00 #x00 #x0D) 2020-01-17T16:05:56Z HiRE: happy to write it myself. l1sp didnt turn up anything which is why I ask 2020-01-17T16:06:13Z ebrasca quit (Remote host closed the connection) 2020-01-17T16:06:15Z HiRE: 13d* 2020-01-17T16:06:47Z HiRE: expand* 2020-01-17T16:06:49Z HiRE: sorry just woke u 2020-01-17T16:06:49Z Shinmera: you can just use LDB for that. 2020-01-17T16:06:50Z HiRE: p 2020-01-17T16:06:57Z Shinmera: clhs ldb 2020-01-17T16:06:57Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_ldb.htm 2020-01-17T16:07:38Z Shinmera: do note that byte does not equal octet. 2020-01-17T16:08:18Z HiRE: right. I do mean byte here so this will work. 2020-01-17T16:08:21Z HiRE: thank you! 2020-01-17T16:11:01Z knicklux joined #lisp 2020-01-17T16:11:07Z smazga joined #lisp 2020-01-17T16:11:54Z Codaraxis_ quit (Ping timeout: 265 seconds) 2020-01-17T16:13:36Z reimu_ joined #lisp 2020-01-17T16:14:19Z reimu__ quit (Ping timeout: 265 seconds) 2020-01-17T16:15:17Z reimu__ joined #lisp 2020-01-17T16:17:24Z pjb: (loop with n = (random (expt 2 64)) for pos from 0 to 56 by 8 collect (ldb (byte 8 pos) n)) #| --> (205 7 220 165 176 97 6 156) |# 2020-01-17T16:17:31Z Necktwi quit (Read error: Connection reset by peer) 2020-01-17T16:17:38Z reimu_ quit (Ping timeout: 240 seconds) 2020-01-17T16:17:45Z pjb: HiRE: ^ 2020-01-17T16:17:58Z oxum quit (Ping timeout: 260 seconds) 2020-01-17T16:19:50Z jprajzne quit (Quit: Leaving.) 2020-01-17T16:20:28Z kamog joined #lisp 2020-01-17T16:21:23Z HiRE: thank you pjb :) 2020-01-17T16:22:03Z Necktwi joined #lisp 2020-01-17T16:25:10Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-17T16:26:20Z asdf_asdf_asdf joined #lisp 2020-01-17T16:26:29Z Necktwi quit (Read error: Connection reset by peer) 2020-01-17T16:27:05Z Necktwi joined #lisp 2020-01-17T16:28:02Z Necktwi quit (Read error: Connection reset by peer) 2020-01-17T16:32:06Z Necktwi joined #lisp 2020-01-17T16:33:08Z jmercouris quit (Ping timeout: 260 seconds) 2020-01-17T16:35:23Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-17T16:36:05Z lclark` quit (Remote host closed the connection) 2020-01-17T16:38:55Z efm quit (Remote host closed the connection) 2020-01-17T16:41:43Z efm joined #lisp 2020-01-17T16:51:31Z ebzzry joined #lisp 2020-01-17T16:58:21Z jonatack joined #lisp 2020-01-17T17:01:26Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-17T17:03:36Z madage joined #lisp 2020-01-17T17:03:40Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-17T17:06:43Z madagest quit (Ping timeout: 240 seconds) 2020-01-17T17:09:45Z frgo quit 2020-01-17T17:10:22Z slyrus_ quit (Read error: Connection reset by peer) 2020-01-17T17:10:39Z slyrus joined #lisp 2020-01-17T17:13:12Z frgo joined #lisp 2020-01-17T17:14:12Z refpga joined #lisp 2020-01-17T17:21:22Z tiwEllien joined #lisp 2020-01-17T17:23:41Z ebzzry quit (Read error: Connection reset by peer) 2020-01-17T17:24:43Z reimu_ joined #lisp 2020-01-17T17:25:00Z ebzzry joined #lisp 2020-01-17T17:25:01Z davepdotorg quit (Read error: Connection reset by peer) 2020-01-17T17:25:07Z davepdot_ joined #lisp 2020-01-17T17:27:18Z reimu__ quit (Ping timeout: 265 seconds) 2020-01-17T17:31:34Z Bike quit (Remote host closed the connection) 2020-01-17T17:31:35Z rumbler31 joined #lisp 2020-01-17T17:32:01Z Bike joined #lisp 2020-01-17T17:35:20Z chimneys: hey can we write GTA V in lisp? or flightgear fligt simulator 2020-01-17T17:35:27Z Xach: chimneys: yes 2020-01-17T17:35:30Z hhdave quit (Quit: hhdave) 2020-01-17T17:35:32Z chimneys: by avoiding C++ headache, 2020-01-17T17:35:44Z chimneys: I mean those are performance demanding games 2020-01-17T17:35:58Z chimneys: those are best seller games 2020-01-17T17:36:06Z Xach: ok 2020-01-17T17:36:23Z pjb: chimneys: I once considered merging flightgear with ecl, to be able to script it in CL… 2020-01-17T17:36:24Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-17T17:36:24Z beach: chimneys: Common Lisp can generate code with performance comparable to that generated by a C compiler. 2020-01-17T17:36:29Z davepdot_ quit (Ping timeout: 265 seconds) 2020-01-17T17:37:01Z beach: chimneys: Furthermore, as I often point out, given the manual memory management of C++, it is impossible to write a C++ program that is both fast and modular. 2020-01-17T17:37:16Z beach: chimneys: So if you want fast C++ code, you are in for a maintenance nightmare. 2020-01-17T17:37:38Z pjb: chimneys: it shouldn't be too hard to do: first compile flightgear as a library. Then link it with libecl in a single executable. Then add the flightgear API to lisp. Since it's already scriptable in lua IIRC, it shouldn't be too hard. 2020-01-17T17:38:30Z Xach: beach: on the other hand, games remind me of movie sets a little bit. they are not built to last or to be extensible, but to provide an entertaining brief impression and then be discarded. as long as they are captured once under the right conditions it is ok. 2020-01-17T17:38:32Z pjb: chimneys: now, IIRC flightgear uses C++, so it may be more indicated to use clasp (an ecl derivative optimized for C++ interaction), but clasp didn't exist at the time. 2020-01-17T17:38:55Z Xach: Many unacceptable shortcuts in building a place to live are acceptable in other contexts. 2020-01-17T17:39:26Z pjb: Not all games are games. Realistic simulators like flightgear are in a different category, and used not as games, but as training or study tools amongst other uses. 2020-01-17T17:39:30Z beach: Xach: I believe you. But the maintenance nightmare must be a problem during development as well, I would imagine. 2020-01-17T17:39:47Z Xach: I have not heard many stories about how pleasant it is to make games 2020-01-17T17:39:53Z pjb: For example, you could hook the worldwide flight data into flightgear and see real traffic. 2020-01-17T17:40:23Z pjb: Pleasantness is reduced by the capitalistic constraints on commercial game development… 2020-01-17T17:40:55Z refpga quit (Remote host closed the connection) 2020-01-17T17:40:57Z Xach: but the upside is you can pretend you are interacting with a space ship, and we can't really make space ships that millions can try yet, so 2020-01-17T17:41:56Z m00natic quit (Remote host closed the connection) 2020-01-17T17:43:41Z _death: Xach: this is true, but in recent years some companies put a lot of effort in maintenance of existing games, especially if they have an "online community" 2020-01-17T17:44:35Z Bike: some people want to be space ship maintenance crew 2020-01-17T17:47:18Z scymtym_ quit (Ping timeout: 252 seconds) 2020-01-17T17:47:27Z Xach: anyway, it makes me think about how many entertaining illusions are created by unsustainable practices and the magic is from a) not knowing that there's a trick involved or b) not knowing how the trick works or c) not believing that anyone would go to the lengths to make it work 2020-01-17T17:47:40Z knicklux quit (Ping timeout: 252 seconds) 2020-01-17T17:48:17Z efm quit (Quit: Konversation terminated!) 2020-01-17T17:48:17Z chimneys: xach run fortran routines and tell me the speed of your desktop mine is 200GFLOPS 2020-01-17T17:48:22Z Xach: chimneys: no. 2020-01-17T17:49:18Z chimneys: lisp is 4 times slower than java and C++ I checked on those benchmarks,so if your desktop is 4 times faster then lisp performance shouldn't matter 2020-01-17T17:49:53Z beach: chimneys: You should be very careful about believing such benchmarks. 2020-01-17T17:50:02Z mangul joined #lisp 2020-01-17T17:50:40Z beach: chimneys: Most often, the comparison does not involve programs with the same semantics in the different languages involved. 2020-01-17T17:51:08Z pjb: chimneys: http://cliki.net/Performance 2020-01-17T17:51:17Z chimneys: hmm the language is fortran matrix calculations linpack 2020-01-17T17:52:04Z chimneys: https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/sbcl-gpp.html no i believe those benchmarks 2020-01-17T17:52:32Z beach: chimneys: Good for you. 2020-01-17T17:55:49Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-17T17:57:08Z _death: when use of (say) _mm_mul_pd is consider valid, the programming language doesn't matter much 2020-01-17T18:04:44Z pjb: So, bitsavers is down :-( https://www.isitdownrightnow.com/bitsavers.org.html 2020-01-17T18:04:57Z pjb: Almost our whole lisp history is lost… 2020-01-17T18:06:04Z sjl_: https://web.archive.org/web/*/www.bitsavers.org may have some 2020-01-17T18:06:15Z HiRE: I think beach hit the nail on the head. You can't be both fast and modular. It's one of those attribute triangle problems. 2020-01-17T18:06:41Z scymtym joined #lisp 2020-01-17T18:08:13Z HiRE: chimneys is missing the GC optimization route. Benchmarks aren't perfect. Lisp is highly compiler dependent. 2020-01-17T18:08:43Z HiRE: I mean they power space shuttles with it so it's can't be that bad for real time/near real time work 2020-01-17T18:08:44Z HiRE: lol 2020-01-17T18:09:12Z HiRE: I think chimneys is vastly overestimating how optimized games actually are...last one I downloaded was 50GB and ran like garbage... 2020-01-17T18:10:26Z HiRE: really easy to fall into religious zealotry if you just cite benchmark-game. 2020-01-17T18:11:23Z HiRE: (you could argue real time doesn't imply fast but rather consistent...but you see my point) 2020-01-17T18:13:04Z pjb: HiRE: it depends. Modularity is in the source. We have compiler to mix and merge and optimize and remove generality. 2020-01-17T18:13:44Z brown121408 joined #lisp 2020-01-17T18:13:56Z Xach: The answer to "Can I do X with Lisp?" is always yes, but the question of "Will it be as easy to do X in Lisp as it is in SomeOtherLanguage?" is usually "it depends a lot on X and SomeOtherLanguage" 2020-01-17T18:14:12Z pjb: eg. if a global analysis of your lisp program demonstrates that 1- the program never evaluates input (ie. it doesn't change at run-time), 2- at a call point, the arguments to a generic function are always of the same class, then it can hardwire the method called without computing anything. 2020-01-17T18:14:28Z pjb: And other such type-based optimization. 2020-01-17T18:14:32Z pjb: If it can prove it… 2020-01-17T18:15:07Z HiRE: yeah. To Xach's point the magic of turing completeness makes "can I do X in Y" vacuously true. 2020-01-17T18:15:26Z HiRE: Some languages have features that enable better developer interop, nicer structures to help think about things, etc. 2020-01-17T18:15:32Z FreeBirdLjj joined #lisp 2020-01-17T18:16:03Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-17T18:17:37Z HiRE: at least this discussion is more thought provoking than "eww parentheses" :P 2020-01-17T18:18:13Z oxum joined #lisp 2020-01-17T18:18:19Z chimneys: but still you yourself admitted C isn't faster than a factor of 10 that a good CL code, and processor capacity doubles every year so 2**3 = 8, so the hardware is lagging by only 3 years, and therefore the game too. 2020-01-17T18:19:15Z chimneys: infact they said numerous times on numerous sites CL generates C-like optimized code 2020-01-17T18:19:25Z chimneys: so I assume the factor is max 10 2020-01-17T18:19:28Z pjb: chimneys: the factor is less than 2 and some times CL is faster. 2020-01-17T18:19:38Z pjb: chimneys: check the cliki Performance page! 2020-01-17T18:19:49Z chimneys: so were are on the same page hen 2020-01-17T18:20:12Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-17T18:20:39Z harovali1 joined #lisp 2020-01-17T18:20:47Z _death: high performance code is never vanilla C, so no need to expect it to be vanilla Lisp either 2020-01-17T18:21:20Z harovali quit (Ping timeout: 258 seconds) 2020-01-17T18:21:45Z chimneys: vanilla? 2020-01-17T18:22:00Z _death: chocolate, if you prefer 2020-01-17T18:22:13Z mangul quit (Ping timeout: 268 seconds) 2020-01-17T18:22:31Z HiRE: It's getting off topic but I'll leave it at this and clear channel. C++ is likely popular because of the extensive amount of libraries, bandwagoning, and developer interop. 2020-01-17T18:22:40Z HiRE: good for business. 2020-01-17T18:22:58Z HiRE: lisp has a significantly higher learning curve and thats not good for business. 2020-01-17T18:22:58Z abralek joined #lisp 2020-01-17T18:23:51Z chimneys: which benchmarks on cliki compare C vs CL pjb 2020-01-17T18:24:06Z chimneys: you said sometimes CL is faster 2020-01-17T18:24:15Z HiRE: https://cliki.net/Benchmark 2020-01-17T18:25:17Z abralek quit (Quit: Quit) 2020-01-17T18:27:18Z pjb: chimneys: see section Program Performance 2020-01-17T18:28:49Z oxum quit (Ping timeout: 268 seconds) 2020-01-17T18:33:21Z chimneys: I did android phone benchmarks and found 200Mflops desktop 200Gflop , and laptop 50gflops 2020-01-17T18:34:05Z chimneys: so the phone is thousand times slower, so the factor is 10 shouldn't even matter , even if it's 20, 2**4 = 16 , so you just lag by only 4 years? 2020-01-17T18:34:31Z chimneys: do you get my logic? 2020-01-17T18:34:43Z oxum joined #lisp 2020-01-17T18:35:09Z chimneys: instead 4 years may take development time for GTA V 2020-01-17T18:35:27Z chimneys: so development time is the killer factor? no? 2020-01-17T18:36:27Z chimneys: also companies can save lots of money too, as it's less headache, for example google used Java and lost billion dollar lawsuit to oracle upon copyrights of Java in android 2020-01-17T18:40:59Z Codaraxis joined #lisp 2020-01-17T18:43:11Z oxum quit (Ping timeout: 265 seconds) 2020-01-17T18:43:50Z slyrus_ joined #lisp 2020-01-17T18:43:57Z oxum joined #lisp 2020-01-17T18:46:42Z slyrus quit (Ping timeout: 268 seconds) 2020-01-17T18:48:26Z oxum quit (Ping timeout: 240 seconds) 2020-01-17T18:49:41Z _fe_ quit (Quit: Leaving) 2020-01-17T18:49:47Z oxum joined #lisp 2020-01-17T18:50:55Z amerlyq quit (Quit: amerlyq) 2020-01-17T18:54:38Z ljavorsk_ joined #lisp 2020-01-17T19:04:16Z oxum quit (Remote host closed the connection) 2020-01-17T19:04:32Z oxum joined #lisp 2020-01-17T19:09:49Z brown121407 joined #lisp 2020-01-17T19:09:49Z brown121408 quit (Read error: Connection reset by peer) 2020-01-17T19:10:37Z harovali1 quit (Remote host closed the connection) 2020-01-17T19:11:48Z pilne joined #lisp 2020-01-17T19:14:17Z bitmapper joined #lisp 2020-01-17T19:16:35Z reepca quit (Remote host closed the connection) 2020-01-17T19:18:52Z ggole quit (Quit: Leaving) 2020-01-17T19:20:08Z reimu__ joined #lisp 2020-01-17T19:21:26Z phoe: why are we talking about GTA V development time and Java on Android in #lisp 2020-01-17T19:22:47Z jackdaniel: because that's what trol^W^W^W^Wheroes do 2020-01-17T19:22:49Z Xach: phoe: it died out 2020-01-17T19:23:05Z reimu_ quit (Ping timeout: 268 seconds) 2020-01-17T19:23:06Z phoe: I might have made a mistake yesterday 2020-01-17T19:23:13Z ChanServ has set mode +o phoe 2020-01-17T19:23:17Z phoe has set mode +b *!*eo@unaffiliated/hortiel 2020-01-17T19:23:17Z chimneys [~phoe@2001:470:64f1:1:dc52:a0ff:fe71:ae52] has been kicked from #lisp by phoe (chimneys) 2020-01-17T19:23:19Z ChanServ has set mode -o phoe 2020-01-17T19:23:39Z zigpaw: should be ^H instead of ^W I think, but you did that on purpose didn't you? :P 2020-01-17T19:23:40Z reimu_ joined #lisp 2020-01-17T19:23:55Z jackdaniel: zigpaw: yes, I forgot which was that, thanks! ;) 2020-01-17T19:24:12Z ljavorsk_ quit (Ping timeout: 258 seconds) 2020-01-17T19:25:55Z reimu__ quit (Ping timeout: 272 seconds) 2020-01-17T19:30:37Z EvW joined #lisp 2020-01-17T19:31:37Z sauvin quit (Ping timeout: 272 seconds) 2020-01-17T19:32:22Z rumbler31 joined #lisp 2020-01-17T19:36:58Z frgo_ joined #lisp 2020-01-17T19:37:19Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-17T19:39:06Z ljavorsk_ joined #lisp 2020-01-17T19:40:26Z frgo quit (Ping timeout: 240 seconds) 2020-01-17T19:42:30Z knicklux joined #lisp 2020-01-17T19:44:17Z bitmapper quit (Ping timeout: 272 seconds) 2020-01-17T19:44:22Z reimu__ joined #lisp 2020-01-17T19:47:27Z reimu_ quit (Ping timeout: 272 seconds) 2020-01-17T19:47:29Z milanj quit (Quit: This computer has gone to sleep) 2020-01-17T20:00:49Z phlim quit (Quit: WeeChat 2.4) 2020-01-17T20:02:12Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-17T20:05:59Z HiRE: are we able to post code here for review? I have some stuff I'm working on and in a few days I'd like experienced eyes to rip it apart and make me cry. 2020-01-17T20:07:11Z dlowe: maybe you'd prefer #clschool 2020-01-17T20:08:18Z HiRE: oh ok 2020-01-17T20:09:58Z phoe: HiRE: and as long as you use any kind of pastebin service 2020-01-17T20:10:16Z HiRE: that was the plan. I wouldn't want to flood the channel. 2020-01-17T20:10:18Z HiRE: lol 2020-01-17T20:11:21Z patlv_ joined #lisp 2020-01-17T20:13:01Z developernotes joined #lisp 2020-01-17T20:13:02Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-17T20:13:38Z cl-arthur joined #lisp 2020-01-17T20:14:00Z developernotes quit (Client Quit) 2020-01-17T20:15:33Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-17T20:17:05Z harovali joined #lisp 2020-01-17T20:17:27Z gabiruh quit (Ping timeout: 260 seconds) 2020-01-17T20:17:38Z atgreen joined #lisp 2020-01-17T20:20:31Z phlim joined #lisp 2020-01-17T20:26:28Z ljavorsk_ quit (Ping timeout: 260 seconds) 2020-01-17T20:27:37Z Xach: HiRE: it can be tough sorting out good feedback from bad. it gets easier with practice. 2020-01-17T20:30:16Z cosimone joined #lisp 2020-01-17T20:41:41Z milanj joined #lisp 2020-01-17T20:46:03Z HiRE: Xach, I decided to embark on a PNG writing library thing for fun 2020-01-17T20:46:10Z HiRE: thinking it'd be a relatively straight forward project 2020-01-17T20:46:11Z HiRE: I was wrong 2020-01-17T20:51:30Z tiwEllien joined #lisp 2020-01-17T20:54:20Z Xach: HiRE: like, writing the file format? 2020-01-17T20:54:26Z HiRE: yeah 2020-01-17T20:55:38Z Xach: HiRE: i made one of those, maybe it would be helpful for reference. 2020-01-17T20:55:48Z HiRE: sure that'd be useful 2020-01-17T20:56:07Z HiRE: its an interesting file format just kind of complicated in implementation 2020-01-17T20:56:11Z HiRE: mostly because im new to lisp 2020-01-17T20:56:34Z Xach: sure 2020-01-17T20:56:41Z Xach: https://github.com/xach/zpng is it 2020-01-17T20:56:57Z Xach: it uses https://github.com/xach/salza2 as the compressor 2020-01-17T21:01:20Z HiRE: oh cool thank you 2020-01-17T21:01:23Z HiRE: this will be useful 2020-01-17T21:02:24Z Shinmera: HiRE: there's a new, very fast deflate/zip compressor by |3b|: https://github.com/3b/3bz 2020-01-17T21:03:15Z Shinmera: oh wait, I guess it only does decompression, nevermind 2020-01-17T21:13:27Z narimiran quit (Ping timeout: 258 seconds) 2020-01-17T21:21:43Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-17T21:29:58Z dnaeon joined #lisp 2020-01-17T21:30:28Z bitmapper joined #lisp 2020-01-17T21:33:27Z rumbler31 joined #lisp 2020-01-17T21:36:02Z jmercouris joined #lisp 2020-01-17T21:36:59Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-17T21:38:02Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-17T21:38:08Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-17T21:38:17Z rumbler31 quit (Ping timeout: 272 seconds) 2020-01-17T21:45:17Z inaciano joined #lisp 2020-01-17T21:47:24Z aeth quit (Read error: Connection reset by peer) 2020-01-17T21:47:44Z aeth joined #lisp 2020-01-17T21:54:17Z patlv__ joined #lisp 2020-01-17T21:56:45Z raghavgururajan joined #lisp 2020-01-17T21:56:48Z patlv__ quit (Client Quit) 2020-01-17T21:57:55Z patlv_ quit (Ping timeout: 272 seconds) 2020-01-17T21:58:34Z decent-username joined #lisp 2020-01-17T22:02:05Z pfdietz quit (Remote host closed the connection) 2020-01-17T22:02:19Z orivej quit (Ping timeout: 265 seconds) 2020-01-17T22:03:48Z EvW quit (Ping timeout: 248 seconds) 2020-01-17T22:04:46Z jmercouris quit (Remote host closed the connection) 2020-01-17T22:05:13Z harovali quit (Ping timeout: 265 seconds) 2020-01-17T22:17:10Z quazimod1 quit (Ping timeout: 268 seconds) 2020-01-17T22:17:25Z quazimodo joined #lisp 2020-01-17T22:17:51Z EvW joined #lisp 2020-01-17T22:22:32Z Bike quit (Quit: Bike) 2020-01-17T22:32:31Z ebrasca joined #lisp 2020-01-17T22:33:14Z sjl_ quit (Ping timeout: 240 seconds) 2020-01-17T22:33:37Z holycow joined #lisp 2020-01-17T22:38:53Z slyrus__ joined #lisp 2020-01-17T22:40:34Z oni-on-ion quit (Read error: Connection reset by peer) 2020-01-17T22:41:23Z oni-on-ion joined #lisp 2020-01-17T22:41:37Z slyrus_ quit (Ping timeout: 272 seconds) 2020-01-17T22:44:34Z doublex_ joined #lisp 2020-01-17T22:45:31Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-17T22:47:23Z knicklux quit (Ping timeout: 268 seconds) 2020-01-17T22:48:50Z slyrus_ joined #lisp 2020-01-17T22:51:58Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-17T22:54:36Z asarch joined #lisp 2020-01-17T22:55:25Z asarch: !repl (/ 450.0 25.9) 2020-01-17T22:55:33Z Xach: asarch: no thanks 2020-01-17T22:55:40Z asarch: JK :-P 2020-01-17T22:57:04Z thecoffemaker joined #lisp 2020-01-17T23:00:09Z reimu_ joined #lisp 2020-01-17T23:03:25Z reimu__ quit (Ping timeout: 268 seconds) 2020-01-17T23:05:26Z holycow quit (Quit: Lost terminal) 2020-01-17T23:16:28Z LiamH quit (Quit: Leaving.) 2020-01-17T23:18:47Z DGASAU quit (Read error: Connection reset by peer) 2020-01-17T23:19:16Z DGASAU joined #lisp 2020-01-17T23:24:24Z brettgilio quit (Read error: Connection reset by peer) 2020-01-17T23:24:31Z brettgilio_ joined #lisp 2020-01-17T23:25:43Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-17T23:27:17Z reimu__ joined #lisp 2020-01-17T23:27:46Z clothespin joined #lisp 2020-01-17T23:28:03Z Bike joined #lisp 2020-01-17T23:29:36Z kamog quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-17T23:29:43Z DGASAU quit (Read error: Connection reset by peer) 2020-01-17T23:29:48Z reimu_ quit (Ping timeout: 265 seconds) 2020-01-17T23:30:16Z reimu_ joined #lisp 2020-01-17T23:30:20Z DGASAU joined #lisp 2020-01-17T23:32:59Z reimu__ quit (Ping timeout: 258 seconds) 2020-01-17T23:34:20Z rumbler31 joined #lisp 2020-01-17T23:35:55Z reimu_ quit (Ping timeout: 268 seconds) 2020-01-17T23:38:50Z rumbler31 quit (Ping timeout: 240 seconds) 2020-01-17T23:40:09Z inaciano quit (Quit: Saindo) 2020-01-17T23:41:35Z tiwEllien joined #lisp 2020-01-17T23:45:53Z smokeink joined #lisp 2020-01-17T23:49:14Z v0|d joined #lisp 2020-01-17T23:52:47Z cosimone quit (Quit: Quit.) 2020-01-17T23:55:05Z random-nick quit (Ping timeout: 272 seconds) 2020-01-17T23:56:21Z Lord_of_Life_ joined #lisp 2020-01-17T23:58:44Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-17T23:58:44Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-17T23:59:09Z holycow joined #lisp 2020-01-18T00:03:06Z sjl joined #lisp 2020-01-18T00:07:58Z smazga quit (Quit: leaving) 2020-01-18T00:15:20Z slyrus__ joined #lisp 2020-01-18T00:17:38Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-18T00:21:50Z slyrus_ joined #lisp 2020-01-18T00:24:02Z slyrus__ quit (Ping timeout: 240 seconds) 2020-01-18T00:24:20Z slyrus__ joined #lisp 2020-01-18T00:24:53Z Inline quit (Quit: Leaving) 2020-01-18T00:26:48Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-18T00:35:17Z Nilby joined #lisp 2020-01-18T00:42:58Z smokeink: what is this used for ? https://github.com/sbcl/sbcl/blob/master/src/code/target-package.lisp#L739 2020-01-18T00:45:51Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-18T00:48:20Z smokeink: https://github.com/slime/slime/blob/master/swank/sbcl.lisp#L427 2020-01-18T00:48:54Z Xach: smokeink: have you read xof's paper on bootstrapping? it's related to that. 2020-01-18T00:49:33Z smokeink: ok I'll takke a look at that paper. ANy idea why does swank need to handler-bind it? 2020-01-18T00:50:23Z Bike: i guess so it can deal with sb!whatever in source? 2020-01-18T00:50:36Z Xach: smokeink: so that you can use slime to work with bootstrapping package syntax, i guess 2020-01-18T00:50:43Z Xach: like bike said 2020-01-18T00:53:52Z nullman quit (Ping timeout: 258 seconds) 2020-01-18T00:54:30Z nullman joined #lisp 2020-01-18T00:57:09Z turona quit (Ping timeout: 272 seconds) 2020-01-18T00:57:16Z turona joined #lisp 2020-01-18T00:57:26Z Codaraxis joined #lisp 2020-01-18T01:05:31Z asarch: If I have this timestamp with time zone enabled in a PostgreSQL record which corresponds to 2020-01-17 12:24:44.809571-06 why (let ((fecha (make-instance 'simple-date:timestamp :days 3788274284 :ms 3788274284))) (simple-date:decode-timestamp fecha)) gives other results: 10373942 11 15 1052 17 54 284 2020-01-18T01:11:14Z npfaro joined #lisp 2020-01-18T01:11:16Z npfaro: hi 2020-01-18T01:11:50Z Xach: asarch: i can't tell how the details of your question relate to each other 2020-01-18T01:11:59Z Xach: hi npfaro 2020-01-18T01:12:38Z npfaro: I have a problem with UIOP process spawning/killing on windows 2020-01-18T01:12:56Z npfaro: I can spawn processes fine with uiop:launch-program, but uiop:terminate-process just doesn't work 2020-01-18T01:13:08Z npfaro: I can call it as much as I want, even with :urgent t but it doesn't work 2020-01-18T01:13:08Z asarch: Ok, let's try another angle: how could I convert this 3788274284 (the value stored in the PostgreSQL cluster) into this 2020-01-17 12:24:44.809571-06 using Postmodern? 2020-01-18T01:14:16Z npfaro: Ok actually it seems like it's working with :urgent t now.... but why doesn't it without 2020-01-18T01:16:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-18T01:17:08Z _death: asarch: this value looks like a universal time, so use decode-universal-time 2020-01-18T01:18:27Z _death: simple-date has universal-time-to-timestamp 2020-01-18T01:18:55Z asarch: (simple-date:universal-time-to-timestamp 3788274284) 2020-01-18T01:21:00Z asarch: Thank you _death! 2020-01-18T01:21:56Z phlim quit (Quit: WeeChat 2.4) 2020-01-18T01:22:28Z asarch: (simple-date:decode-timestamp (simple-date:universal-time-to-timestamp 3788274284)) 2020-01-18T01:23:22Z wxie joined #lisp 2020-01-18T01:24:43Z hsaziz joined #lisp 2020-01-18T01:28:05Z g0d_shatter joined #lisp 2020-01-18T01:29:34Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-18T01:35:13Z rumbler31 joined #lisp 2020-01-18T01:38:54Z npfaro: Hmm, yeah uiop:terminate-process definitely isn't working 2020-01-18T01:39:18Z npfaro: When i use uiop:process-alive-p it shows that the process is "not running" but it still is on my system 2020-01-18T01:39:52Z npfaro: Could it possibly be because the subprocess is also an sbcl process? i wouldn't think that would matter though 2020-01-18T01:40:02Z rumbler31 quit (Ping timeout: 240 seconds) 2020-01-18T01:44:42Z Xach: npfaro: it could be that uiop functions are not well-tested on windows 2020-01-18T01:46:14Z npfaro: Damn. maybe i'll go plumb around in it I guess 2020-01-18T01:46:54Z gko_ joined #lisp 2020-01-18T01:47:39Z npfaro: what's the hotkey to go to the definition of a function? slime-edit-definition just takes me to a blank buffer 2020-01-18T01:48:42Z no-defun-allowed: M-. 2020-01-18T01:49:06Z npfaro: that is slime-edit-definition 2020-01-18T01:49:56Z npfaro: hmm looks like it's a fasl file 2020-01-18T01:51:07Z EvW quit (Ping timeout: 260 seconds) 2020-01-18T01:53:12Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-18T01:53:25Z phlim joined #lisp 2020-01-18T01:54:00Z Xach: M-. is what's normally used to go to a definition. 2020-01-18T01:55:04Z harovali joined #lisp 2020-01-18T01:56:28Z npfaro: Lol holy crap, it's actually shelling out to taskkill 2020-01-18T01:58:27Z Xach: oh, M-. on uiop/asdf doesn't work so great. 2020-01-18T02:00:50Z Nilby quit (Ping timeout: 240 seconds) 2020-01-18T02:03:59Z bitmapper quit (Ping timeout: 265 seconds) 2020-01-18T02:10:57Z kanru joined #lisp 2020-01-18T02:13:55Z gabiruh joined #lisp 2020-01-18T02:15:44Z npfaro: Found the problem. process-info-pid doesn't get set correctly 2020-01-18T02:17:22Z wxie quit (Ping timeout: 260 seconds) 2020-01-18T02:18:45Z npfaro: it gets set to the PID of the shell running the process i guess 2020-01-18T02:21:23Z jerme_ quit (Ping timeout: 265 seconds) 2020-01-18T02:22:08Z tfb quit (Read error: Connection reset by peer) 2020-01-18T02:22:21Z tfb joined #lisp 2020-01-18T02:23:43Z jerme_ joined #lisp 2020-01-18T02:25:02Z decent-username quit (Ping timeout: 252 seconds) 2020-01-18T02:29:36Z wxie joined #lisp 2020-01-18T02:30:13Z milanj quit (Quit: This computer has gone to sleep) 2020-01-18T02:33:39Z harovali: hi! What is using people besides great mcclim? 2020-01-18T02:52:20Z g0d_shatter quit (Remote host closed the connection) 2020-01-18T02:53:41Z gabiruh quit (Ping timeout: 272 seconds) 2020-01-18T02:58:01Z ahungry joined #lisp 2020-01-18T03:01:22Z asarch quit (Quit: Leaving) 2020-01-18T03:01:55Z sjl quit (Ping timeout: 272 seconds) 2020-01-18T03:02:25Z sjl joined #lisp 2020-01-18T03:05:09Z sjl quit (Read error: Connection reset by peer) 2020-01-18T03:07:14Z hsaziz quit (Ping timeout: 240 seconds) 2020-01-18T03:18:48Z dddddd quit (Remote host closed the connection) 2020-01-18T03:23:46Z sjl joined #lisp 2020-01-18T03:24:13Z troydm quit (Ping timeout: 265 seconds) 2020-01-18T03:24:59Z sjl quit (Client Quit) 2020-01-18T03:25:54Z ebrasca: harovali: For what function? 2020-01-18T03:36:17Z rumbler31 joined #lisp 2020-01-18T03:37:13Z wxie quit (Ping timeout: 268 seconds) 2020-01-18T03:37:33Z harovali: ebrasca: for user interfaces 2020-01-18T03:37:46Z harovali: ebrasca: like mcclim 2020-01-18T03:39:34Z npfaro quit (Remote host closed the connection) 2020-01-18T03:39:42Z ebrasca: harovali: I need to sleep , here is 04:39. 2020-01-18T03:41:11Z rumbler31 quit (Ping timeout: 272 seconds) 2020-01-18T03:41:54Z orivej joined #lisp 2020-01-18T03:45:50Z Frobozz joined #lisp 2020-01-18T03:49:38Z Frobozz quit (Client Quit) 2020-01-18T03:51:19Z Codaraxis joined #lisp 2020-01-18T04:01:12Z phlim quit (Remote host closed the connection) 2020-01-18T04:01:55Z phlim joined #lisp 2020-01-18T04:02:54Z Nilby joined #lisp 2020-01-18T04:05:15Z kanru quit (Ping timeout: 272 seconds) 2020-01-18T04:08:47Z harovali: ebrasca: good night ! 2020-01-18T04:09:07Z IAmRasputin joined #lisp 2020-01-18T04:10:46Z IAmRasputin quit (Client Quit) 2020-01-18T04:26:14Z sjl joined #lisp 2020-01-18T04:32:53Z aindilis quit (Remote host closed the connection) 2020-01-18T04:42:03Z _whitelogger quit (Remote host closed the connection) 2020-01-18T04:43:08Z smokeink quit (Remote host closed the connection) 2020-01-18T04:43:31Z gravicappa joined #lisp 2020-01-18T04:44:16Z _whitelogger joined #lisp 2020-01-18T04:47:38Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-18T04:52:49Z aindilis joined #lisp 2020-01-18T05:00:52Z gravicappa joined #lisp 2020-01-18T05:01:04Z beach: Good morning everyone! 2020-01-18T05:01:42Z beach: harovali: I only use McCLIM for that purpose. That is why I was part of making it a reality in its early days. 2020-01-18T05:02:04Z bilegeek joined #lisp 2020-01-18T05:13:46Z gravicappa quit (Ping timeout: 258 seconds) 2020-01-18T05:18:35Z patlv quit (Quit: Leaving) 2020-01-18T05:20:26Z ebrasca quit (Remote host closed the connection) 2020-01-18T05:21:06Z bilegeek quit (Quit: Leaving) 2020-01-18T05:23:57Z gravicappa joined #lisp 2020-01-18T05:33:17Z gravicappa quit (Ping timeout: 272 seconds) 2020-01-18T05:35:14Z froggey quit (Ping timeout: 240 seconds) 2020-01-18T05:37:09Z rumbler31 joined #lisp 2020-01-18T05:37:13Z froggey joined #lisp 2020-01-18T05:41:26Z efm joined #lisp 2020-01-18T05:41:58Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-18T05:50:03Z milanj joined #lisp 2020-01-18T05:59:01Z ebzzry joined #lisp 2020-01-18T06:10:27Z hsaziz joined #lisp 2020-01-18T06:13:26Z asarch joined #lisp 2020-01-18T06:16:20Z ebzzry quit (Read error: Connection reset by peer) 2020-01-18T06:17:35Z madage quit (Remote host closed the connection) 2020-01-18T06:21:59Z gioyik joined #lisp 2020-01-18T06:23:54Z harovali1 joined #lisp 2020-01-18T06:23:57Z harovali quit (Ping timeout: 272 seconds) 2020-01-18T06:25:55Z akoana joined #lisp 2020-01-18T06:26:17Z raghavgururajan quit (Remote host closed the connection) 2020-01-18T06:26:18Z ggole joined #lisp 2020-01-18T06:36:58Z milanj quit (Quit: This computer has gone to sleep) 2020-01-18T06:42:26Z no-defun-allowed: I wrote an implementation of the "worlds" model for scoping side effects: https://gitlab.com/Theemacsshibe/cl-worlds 2020-01-18T06:43:21Z no-defun-allowed: It's similar in purpose to using a transaction to group updates to a database, and the concept is described in http://www.vpri.org/pdf/tr2011001_final_worlds.pdf 2020-01-18T06:44:15Z narimiran joined #lisp 2020-01-18T06:44:28Z vlatkoB joined #lisp 2020-01-18T06:50:37Z gabiruh joined #lisp 2020-01-18T06:51:12Z akoana left #lisp 2020-01-18T06:53:33Z jibanes quit (Ping timeout: 260 seconds) 2020-01-18T06:54:33Z orivej quit (Ping timeout: 268 seconds) 2020-01-18T06:55:11Z jibanes joined #lisp 2020-01-18T06:55:21Z gabiruh quit (Ping timeout: 258 seconds) 2020-01-18T06:55:30Z g0d_shatter joined #lisp 2020-01-18T06:58:07Z madage joined #lisp 2020-01-18T07:00:52Z orivej joined #lisp 2020-01-18T07:05:00Z beach: Sounds very useful. 2020-01-18T07:07:52Z sauvin joined #lisp 2020-01-18T07:08:23Z sauvin quit (Max SendQ exceeded) 2020-01-18T07:11:27Z sauvin joined #lisp 2020-01-18T07:19:11Z shangul joined #lisp 2020-01-18T07:25:20Z no-defun-allowed: Indeed. I think it would make more sense if the environment(s) and other side effects like IO could be logged and committed like objects can now, but that would need work with much lower levels of implementation, and the (described) implementation of logging objects is already pretty inefficient compared to normal objects. 2020-01-18T07:27:17Z orivej quit (Ping timeout: 272 seconds) 2020-01-18T07:27:20Z g0d_shatter quit (Read error: Connection reset by peer) 2020-01-18T07:30:08Z beach: I don't know about I/O, but could first-class global environments play a role here? 2020-01-18T07:30:23Z beach: Especially if they are incremental as is part of the plan. 2020-01-18T07:31:03Z ahungry quit (Remote host closed the connection) 2020-01-18T07:31:54Z mangul joined #lisp 2020-01-18T07:32:34Z no-defun-allowed: The paper only describes worlds in terms of objects and their slots, so we would have to come up with semantics for anything else. (I already hacked in unbound slot support, since neither JavaScript or Smalltalk really have unbound slots; there's probably a bug there but I haven't come up with any programs to test it with.) 2020-01-18T07:32:55Z shangul quit (Ping timeout: 258 seconds) 2020-01-18T07:33:06Z beach: I see. 2020-01-18T07:34:28Z no-defun-allowed: My gut feeling says that lexical environments would also have to be subjects of worlds though. 2020-01-18T07:35:37Z beach: Hmm, OK. 2020-01-18T07:38:01Z rumbler31 joined #lisp 2020-01-18T07:38:34Z no-defun-allowed: Oh, the second section titled "Approach" includes "global and local variables" in their description of "all the side effects". 2020-01-18T07:39:14Z no-defun-allowed: "The world is a new language construct that reifies the notion of program state. All computation takes place inside a world, which captures all of the side effects -- changes to global and local variables, arrays, objects’ instance variables, etc. —- that happen inside it." 2020-01-18T07:40:17Z Bike quit (Quit: Lost terminal) 2020-01-18T07:40:47Z phlim quit (Quit: WeeChat 2.4) 2020-01-18T07:43:16Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-18T07:43:54Z gioyik quit (Quit: WeeChat 2.7) 2020-01-18T07:52:47Z heisig joined #lisp 2020-01-18T07:54:11Z mangul quit (Ping timeout: 268 seconds) 2020-01-18T07:55:52Z troydm joined #lisp 2020-01-18T07:56:19Z no-defun-allowed: The paper only describes how worlds affect retrieving and updating slot values of objects however. That would probably require control over the environment model, like how we already need a meta-object protocol. 2020-01-18T08:00:52Z z147 joined #lisp 2020-01-18T08:02:37Z beach: The final objective sounds inefficient in terms of performance. 2020-01-18T08:04:01Z no-defun-allowed: Sure, it is probably too general to have acceptable performance. 2020-01-18T08:07:52Z no-defun-allowed: I would guess it is at least possible to make some optimisations, like deducing what objects won't ever escape a with-world form and can use a more normal representation, but I wouldn't know what's possible with compilers. 2020-01-18T08:09:13Z dale quit (Quit: My computer has gone to sleep) 2020-01-18T08:18:12Z vlatkoB_ joined #lisp 2020-01-18T08:21:38Z vlatkoB quit (Ping timeout: 260 seconds) 2020-01-18T08:36:50Z asarch quit (Quit: Leaving) 2020-01-18T08:38:23Z gko_ quit (Ping timeout: 265 seconds) 2020-01-18T08:39:40Z knicklux joined #lisp 2020-01-18T08:53:09Z emaczen joined #lisp 2020-01-18T08:58:06Z tiwEllien joined #lisp 2020-01-18T09:01:30Z shifty joined #lisp 2020-01-18T09:03:46Z emaczen quit (Ping timeout: 258 seconds) 2020-01-18T09:05:01Z z147 quit (Quit: z147) 2020-01-18T09:11:11Z Inline joined #lisp 2020-01-18T09:29:12Z boeg: Is there like an "append" or "merge" function for arrays? 2020-01-18T09:30:40Z no-defun-allowed: clhs concatenate 2020-01-18T09:30:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_concat.htm 2020-01-18T09:30:54Z no-defun-allowed: Wait, do you mean a vector or an array? 2020-01-18T09:31:15Z no-defun-allowed: array → multi-dimensional array 2020-01-18T09:31:36Z ck_: there's also merge, as in merge-sort, for sequences 2020-01-18T09:32:22Z boeg: i just mean a simple array 2020-01-18T09:35:25Z no-defun-allowed: Hold up; didn't Interlisp have a global UNDO thing? The implementation details of that might be relevant to how to implement worlds. 2020-01-18T09:39:20Z rumbler31 joined #lisp 2020-01-18T09:40:57Z LdBeth: utilisp implements reversible effects 2020-01-18T09:42:46Z LdBeth: however, where reversible effects really get useful is only doing backtracking, in such a way there's already screamer does the job. 2020-01-18T09:43:09Z LdBeth: http://www.softwarepreservation.org/projects/LISP/utilisp 2020-01-18T09:44:07Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-18T09:44:11Z LdBeth: also utilisp includes a lisp flavored prolog 2020-01-18T09:47:10Z LdBeth: but they are all essentially less fancier continuations 2020-01-18T09:51:09Z flip214: when my CSV files only has a very limited number of values in a column, what's the most compact way to handle that via pgloader? convert via a lisp function to a single-byte integer, and (optionally) reference another table? Can pgloader insert into two or more tables in a single pass for such normalization? 2020-01-18T09:55:07Z wxie joined #lisp 2020-01-18T09:57:02Z oldtopman joined #lisp 2020-01-18T09:57:42Z heisig quit (Remote host closed the connection) 2020-01-18T09:58:00Z heisig joined #lisp 2020-01-18T09:59:44Z beach: boeg: Simple arrays can be multidimensional. What does it mean to append or merge a 2x3 array with a 4x2 array? If you don't want to allow such arrays, you need to tell use more restrictions. 2020-01-18T10:01:00Z boeg: beach: right, in this situation I just deal with one-dimensional arrays. I think concatenate is usable 2020-01-18T10:01:11Z beach: OK. 2020-01-18T10:07:23Z jonatack quit (Ping timeout: 245 seconds) 2020-01-18T10:08:04Z ebzzry joined #lisp 2020-01-18T10:17:37Z random-nick joined #lisp 2020-01-18T10:18:50Z boeg: Say I have two sequences of type simply-array character (n) and I want to concatenate them. If I just pass 'simple-array to concate, i get "simple-array is a bad type specifier for sequences. How do I get this to work? 2020-01-18T10:19:07Z boeg: concatenate* 2020-01-18T10:19:54Z nullman quit (Ping timeout: 268 seconds) 2020-01-18T10:19:57Z beach: You need to specify a rank probably. 2020-01-18T10:20:04Z boeg: a rank? 2020-01-18T10:20:16Z beach: Number of dimensions. 2020-01-18T10:20:37Z no-defun-allowed: (simple-array 1) is a one-dimensional simple-array with element-type 2020-01-18T10:20:50Z boeg: ah - that should be n1 + n2, obviously. So should I calculate that manually? 2020-01-18T10:21:20Z boeg: beach: oh, you said dimensions, sorry, thats 1 2020-01-18T10:21:35Z wxie quit (Ping timeout: 258 seconds) 2020-01-18T10:21:35Z beach: Yes, 1. 2020-01-18T10:21:39Z boeg: no-defun-allowed: so `'(simple-array character 1)` 2020-01-18T10:22:10Z beach: You can also use STRING. 2020-01-18T10:22:13Z no-defun-allowed: How would that be different to the type STRING, may I ask? 2020-01-18T10:22:26Z boeg: really? 2020-01-18T10:22:35Z beach: clhs string 2020-01-18T10:22:35Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_string.htm 2020-01-18T10:23:00Z boeg: yes, seems to work 2020-01-18T10:23:28Z boeg: its obvious when you realize it 2020-01-18T10:23:29Z boeg: thanks 2020-01-18T10:23:38Z beach: boeg: I suggest you look at the Common Lisp HyperSpec entry for the system class. 2020-01-18T10:23:54Z beach: boeg: You need to not only know that it works, but also why. 2020-01-18T10:23:54Z jprajzne joined #lisp 2020-01-18T10:24:04Z boeg: beach: yes, thank you 2020-01-18T10:26:08Z nullman joined #lisp 2020-01-18T10:27:40Z jprajzne quit (Remote host closed the connection) 2020-01-18T10:28:18Z Balooga quit 2020-01-18T10:28:33Z Balooga joined #lisp 2020-01-18T10:28:41Z gravicappa joined #lisp 2020-01-18T10:31:28Z varjag joined #lisp 2020-01-18T10:38:20Z rippa joined #lisp 2020-01-18T10:39:06Z jprajzne joined #lisp 2020-01-18T10:39:08Z heisig quit (Quit: Leaving) 2020-01-18T10:41:18Z dddddd joined #lisp 2020-01-18T10:41:42Z oni-on-ion quit (Remote host closed the connection) 2020-01-18T10:42:03Z oni-on-ion joined #lisp 2020-01-18T10:47:39Z shifty quit (Ping timeout: 258 seconds) 2020-01-18T10:49:04Z jprajzne quit (Quit: jprajzne) 2020-01-18T10:52:27Z gabiruh joined #lisp 2020-01-18T10:54:01Z jprajzne joined #lisp 2020-01-18T10:56:51Z gabiruh quit (Ping timeout: 258 seconds) 2020-01-18T10:56:56Z wxie joined #lisp 2020-01-18T10:57:57Z clothespin quit (Read error: Connection reset by peer) 2020-01-18T11:01:24Z holycow quit (Quit: Lost terminal) 2020-01-18T11:03:06Z aeth: Oh, it's interesting that '(simple-array character 1) works. I've always just used '(simple-array character (*)) 2020-01-18T11:03:39Z imherentlybad joined #lisp 2020-01-18T11:04:07Z jprajzne quit (Quit: jprajzne) 2020-01-18T11:04:28Z montaropdf joined #lisp 2020-01-18T11:04:36Z jprajzne joined #lisp 2020-01-18T11:04:52Z aeth: "It must be a new feature" is what I'd say for any other language 2020-01-18T11:05:33Z imherentlybad: So I am using portableaserve and I keep on getting errors with (net.aserve:publish) when I use the :funciton keyword. When I load the path I get an error saying that req and ent do not exist 2020-01-18T11:08:35Z jprajzne quit (Client Quit) 2020-01-18T11:08:59Z jprajzne joined #lisp 2020-01-18T11:16:33Z montarop1 joined #lisp 2020-01-18T11:17:53Z montaropdf quit (Remote host closed the connection) 2020-01-18T11:17:54Z izh_ joined #lisp 2020-01-18T11:19:43Z wxie quit (Ping timeout: 272 seconds) 2020-01-18T11:22:28Z montarop1 quit (Remote host closed the connection) 2020-01-18T11:22:44Z montarop1 joined #lisp 2020-01-18T11:25:08Z hsaziz quit (Ping timeout: 265 seconds) 2020-01-18T11:34:41Z hsaziz joined #lisp 2020-01-18T11:39:04Z jprajzne quit (Quit: jprajzne) 2020-01-18T11:39:44Z jprajzne joined #lisp 2020-01-18T11:40:14Z rumbler31 joined #lisp 2020-01-18T11:41:33Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-18T11:44:57Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-18T11:45:12Z jprajzne quit (Read error: Connection reset by peer) 2020-01-18T11:49:18Z wxie joined #lisp 2020-01-18T11:50:30Z Josh_2 quit (Read error: Connection reset by peer) 2020-01-18T11:56:06Z izh_ quit (Quit: Leaving) 2020-01-18T11:58:19Z Lord_of_Life_ joined #lisp 2020-01-18T11:59:14Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-18T12:01:08Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-18T12:02:01Z tiwEllien quit (Ping timeout: 258 seconds) 2020-01-18T12:03:18Z tiwEllien joined #lisp 2020-01-18T12:07:25Z orivej joined #lisp 2020-01-18T12:09:00Z montarop1 quit (Ping timeout: 246 seconds) 2020-01-18T12:09:15Z montarop1 joined #lisp 2020-01-18T12:13:11Z imherentlybad quit (Ping timeout: 268 seconds) 2020-01-18T12:14:47Z imherentlybad joined #lisp 2020-01-18T12:15:05Z EvW1 joined #lisp 2020-01-18T12:15:27Z wxie quit (Ping timeout: 272 seconds) 2020-01-18T12:21:13Z cosimone joined #lisp 2020-01-18T12:25:09Z imherentlybad quit (Quit: WeeChat 2.6) 2020-01-18T12:28:52Z montarop1 quit (Ping timeout: 248 seconds) 2020-01-18T12:29:56Z montarop1 joined #lisp 2020-01-18T12:29:58Z lottaquestions quit (Quit: Konversation terminated!) 2020-01-18T12:31:21Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-18T12:32:39Z tiwEllien joined #lisp 2020-01-18T12:38:04Z montarop1 quit (Quit: WeeChat 2.4) 2020-01-18T12:39:00Z montaropdf joined #lisp 2020-01-18T12:45:58Z gko_ joined #lisp 2020-01-18T12:48:21Z shifty joined #lisp 2020-01-18T12:51:00Z decent-username joined #lisp 2020-01-18T12:55:36Z asdf_asdf_asdf joined #lisp 2020-01-18T12:59:46Z milanj joined #lisp 2020-01-18T13:00:19Z hhdave joined #lisp 2020-01-18T13:01:56Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-18T13:05:41Z cosimone_ joined #lisp 2020-01-18T13:06:12Z cosimone quit (Ping timeout: 248 seconds) 2020-01-18T13:06:22Z montaropdf quit (Quit: see you later) 2020-01-18T13:07:57Z hsaziz quit (Ping timeout: 258 seconds) 2020-01-18T13:08:57Z shangul joined #lisp 2020-01-18T13:10:04Z lucasb joined #lisp 2020-01-18T13:13:41Z luis: flip214: re swank/rpc:write-header, it's pretty weird that the message length is encoded that way. 2020-01-18T13:15:18Z Bike joined #lisp 2020-01-18T13:15:53Z hsaziz joined #lisp 2020-01-18T13:17:14Z papachan joined #lisp 2020-01-18T13:21:57Z brettgilio_ quit (Ping timeout: 272 seconds) 2020-01-18T13:26:24Z EvW joined #lisp 2020-01-18T13:28:24Z wxie joined #lisp 2020-01-18T13:29:54Z hhdave quit (Quit: hhdave) 2020-01-18T13:31:19Z atgreen_ joined #lisp 2020-01-18T13:32:08Z XenophonF joined #lisp 2020-01-18T13:32:22Z hsaziz quit (Quit: hsaziz) 2020-01-18T13:32:47Z dnaeon joined #lisp 2020-01-18T13:32:55Z wxie quit (Ping timeout: 268 seconds) 2020-01-18T13:33:58Z atgreen quit (Ping timeout: 268 seconds) 2020-01-18T13:40:08Z tiwEllien quit (Ping timeout: 260 seconds) 2020-01-18T13:40:31Z vaporatorius joined #lisp 2020-01-18T13:41:03Z rumbler31 joined #lisp 2020-01-18T13:42:42Z tiwEllien joined #lisp 2020-01-18T13:46:18Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-18T13:46:53Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-18T13:49:56Z dnaeon quit (Quit: WeeChat 2.7) 2020-01-18T13:51:59Z dnaeon joined #lisp 2020-01-18T13:52:26Z cosimone_ quit (Quit: Terminated!) 2020-01-18T13:52:40Z xads joined #lisp 2020-01-18T13:56:40Z xads quit (Remote host closed the connection) 2020-01-18T13:58:40Z gxt quit (Remote host closed the connection) 2020-01-18T13:59:26Z gxt joined #lisp 2020-01-18T14:02:57Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T14:04:39Z dnaeon joined #lisp 2020-01-18T14:08:07Z Ven`` joined #lisp 2020-01-18T14:08:50Z dnaeon quit (Ping timeout: 240 seconds) 2020-01-18T14:16:11Z atgreen_ quit (Ping timeout: 258 seconds) 2020-01-18T14:16:52Z asdf_asdf_asdf joined #lisp 2020-01-18T14:18:19Z shifty quit (Ping timeout: 272 seconds) 2020-01-18T14:19:37Z dddddd quit (Ping timeout: 265 seconds) 2020-01-18T14:19:57Z Ven`` quit (Read error: No route to host) 2020-01-18T14:20:26Z Ven`` joined #lisp 2020-01-18T14:20:50Z jonatack joined #lisp 2020-01-18T14:20:58Z brown121407 quit (Ping timeout: 260 seconds) 2020-01-18T14:22:45Z dnaeon joined #lisp 2020-01-18T14:22:50Z brown121408 joined #lisp 2020-01-18T14:24:16Z dddddd joined #lisp 2020-01-18T14:25:14Z fookara joined #lisp 2020-01-18T14:27:37Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T14:28:54Z grumpyvegetable joined #lisp 2020-01-18T14:29:53Z badgerblock left #lisp 2020-01-18T14:32:05Z dnaeon joined #lisp 2020-01-18T14:36:20Z jonatack quit (Ping timeout: 265 seconds) 2020-01-18T14:36:32Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-18T14:36:53Z cosimone joined #lisp 2020-01-18T14:37:17Z atgreen joined #lisp 2020-01-18T14:38:25Z jonatack joined #lisp 2020-01-18T14:47:49Z trittweiler_ joined #lisp 2020-01-18T14:50:09Z dnaeon joined #lisp 2020-01-18T14:51:54Z gabiruh joined #lisp 2020-01-18T14:54:31Z dnaeon quit (Ping timeout: 258 seconds) 2020-01-18T14:57:15Z atgreen quit (Quit: Leaving) 2020-01-18T14:59:26Z dnaeon joined #lisp 2020-01-18T15:00:57Z cosimone quit (Remote host closed the connection) 2020-01-18T15:01:26Z cosimone joined #lisp 2020-01-18T15:04:08Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-18T15:06:34Z rumbler31 joined #lisp 2020-01-18T15:07:47Z pilne quit (Quit: Hello, 911? Yeah, it's caught in the window this time.) 2020-01-18T15:09:44Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-18T15:12:18Z XenophonF quit (Quit: leaving) 2020-01-18T15:17:33Z dnaeon joined #lisp 2020-01-18T15:22:07Z scymtym quit (Ping timeout: 258 seconds) 2020-01-18T15:30:58Z pjb: boeg: how do you append or merge #2((a b c) (d e f)) with #3A(((1 2) (3 4) (5 6) (7 8)) ((0 0) (0 0) (0 0) (0 0)) ((1 1) (2 2) (3 3) (4 4))) ? 2020-01-18T15:31:21Z beach: pjb: boeg already told us that they are vectors. 2020-01-18T15:31:34Z pjb: Oh. 2020-01-18T15:32:22Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T15:37:29Z brown121408 quit (Ping timeout: 272 seconds) 2020-01-18T15:38:47Z papachan quit (Quit: Leaving) 2020-01-18T15:45:45Z dnaeon joined #lisp 2020-01-18T15:47:24Z xuxuru joined #lisp 2020-01-18T15:48:42Z xuxuru quit (Client Quit) 2020-01-18T15:50:47Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-18T15:59:05Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-18T15:59:17Z EvW quit (Ping timeout: 260 seconds) 2020-01-18T16:03:57Z dnaeon joined #lisp 2020-01-18T16:07:14Z jonatack quit (Ping timeout: 240 seconds) 2020-01-18T16:08:30Z remexre quit (Ping timeout: 258 seconds) 2020-01-18T16:08:56Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T16:10:48Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-18T16:20:39Z narimiran quit (Ping timeout: 268 seconds) 2020-01-18T16:21:16Z scymtym joined #lisp 2020-01-18T16:22:14Z dnaeon joined #lisp 2020-01-18T16:22:32Z cl-arthur joined #lisp 2020-01-18T16:26:53Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-18T16:32:17Z narimiran joined #lisp 2020-01-18T16:40:27Z dnaeon joined #lisp 2020-01-18T16:40:50Z karlosz joined #lisp 2020-01-18T16:42:54Z Ven`` joined #lisp 2020-01-18T16:44:47Z sjl joined #lisp 2020-01-18T16:44:55Z dnaeon quit (Ping timeout: 258 seconds) 2020-01-18T16:46:59Z klltkr joined #lisp 2020-01-18T16:49:42Z dnaeon joined #lisp 2020-01-18T16:54:07Z dnaeon quit (Ping timeout: 258 seconds) 2020-01-18T16:54:56Z gabc: Hi, if I put something like (declare (optimize (speed 0) (space 0) (debug 3))) at the top of my file and load it, will it affect all the definitions in the file? 2020-01-18T16:55:33Z gko_ quit (Ping timeout: 260 seconds) 2020-01-18T16:56:44Z Shinmera: declare cannot appear at the top level 2020-01-18T16:57:13Z beach: clhs declaim 2020-01-18T16:57:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_declai.htm 2020-01-18T16:57:25Z Shinmera: you want declaim. And in that case it will affect everything that is compiled after it, not just that file. 2020-01-18T16:58:04Z gabc: Ooooh and declare for each function 2020-01-18T16:58:07Z gabc: Thanks :) 2020-01-18T16:58:10Z beach: Shinmera: Are you sure about that? 2020-01-18T16:58:28Z beach: Shinmera: I think that depends on the implementation. 2020-01-18T16:58:34Z gabc: I can load the file with 'declaim' at top level (on sbcl) 2020-01-18T16:58:37Z Shinmera: ah, indeed, it's unspecified. 2020-01-18T16:58:57Z gabc: In doubt, I put the declare form in most of the functions I care about 2020-01-18T17:07:47Z dnaeon joined #lisp 2020-01-18T17:12:16Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T17:12:42Z Josh_2 joined #lisp 2020-01-18T17:13:29Z karlosz quit (Quit: karlosz) 2020-01-18T17:19:07Z papachan joined #lisp 2020-01-18T17:23:36Z cowboy27 joined #lisp 2020-01-18T17:23:38Z jonatack joined #lisp 2020-01-18T17:25:57Z dnaeon joined #lisp 2020-01-18T17:26:53Z clothespin joined #lisp 2020-01-18T17:30:46Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T17:31:22Z jmercouris joined #lisp 2020-01-18T17:38:10Z fookara quit (Remote host closed the connection) 2020-01-18T17:44:13Z dnaeon joined #lisp 2020-01-18T17:44:18Z cosimone_ joined #lisp 2020-01-18T17:47:16Z cosimone quit (Ping timeout: 248 seconds) 2020-01-18T17:48:26Z dnaeon quit (Ping timeout: 240 seconds) 2020-01-18T17:56:08Z scymtym quit (Ping timeout: 245 seconds) 2020-01-18T17:56:26Z pfdietz joined #lisp 2020-01-18T18:02:29Z dnaeon joined #lisp 2020-01-18T18:07:04Z jayspeer joined #lisp 2020-01-18T18:07:35Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-18T18:12:52Z asarch joined #lisp 2020-01-18T18:13:43Z ym quit (Quit: Leaving) 2020-01-18T18:14:33Z asdf_asdf_asdf quit (Ping timeout: 272 seconds) 2020-01-18T18:15:32Z pjb: gabc: never put optimization level declarations in your sources! It's not hardwired. Depending on why you compile and load, you want different optimization. When you're in the REPL debugging, you don't want the same optimizations as when you're generating the executable for customers. 2020-01-18T18:20:17Z FreeBirdLjj joined #lisp 2020-01-18T18:20:42Z dnaeon joined #lisp 2020-01-18T18:21:38Z asdf_asdf_asdf joined #lisp 2020-01-18T18:22:08Z narimiran quit (Ping timeout: 268 seconds) 2020-01-18T18:25:07Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-18T18:25:26Z harovali joined #lisp 2020-01-18T18:25:39Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T18:27:13Z harovali1 quit (Ping timeout: 272 seconds) 2020-01-18T18:28:21Z cosimone_ quit (Quit: Terminated!) 2020-01-18T18:30:36Z brown121407 joined #lisp 2020-01-18T18:30:50Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-18T18:34:48Z remexre joined #lisp 2020-01-18T18:35:22Z narimiran joined #lisp 2020-01-18T18:37:56Z jmercouris quit (Remote host closed the connection) 2020-01-18T18:38:57Z dnaeon joined #lisp 2020-01-18T18:43:43Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T18:44:53Z gabc: pjb: Yes and I thought it would give me more info, which it didn't really. But it's not going to any customer anytime soon so it should be fine (I took them out because they didn't help) 2020-01-18T18:45:23Z akrl` quit (Ping timeout: 268 seconds) 2020-01-18T18:47:26Z jmercouris joined #lisp 2020-01-18T18:47:26Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-18T18:49:36Z trittweiler_ quit (Remote host closed the connection) 2020-01-18T18:49:37Z clothespin quit (Ping timeout: 260 seconds) 2020-01-18T18:53:24Z shangul quit (Ping timeout: 268 seconds) 2020-01-18T18:54:49Z terpri quit (Remote host closed the connection) 2020-01-18T18:56:29Z gabiruh quit (Ping timeout: 268 seconds) 2020-01-18T18:57:09Z dnaeon joined #lisp 2020-01-18T18:57:26Z terpri joined #lisp 2020-01-18T18:59:48Z akrl` joined #lisp 2020-01-18T19:00:19Z terpri quit (Remote host closed the connection) 2020-01-18T19:00:33Z mercourisj joined #lisp 2020-01-18T19:00:39Z jmercouris quit (Disconnected by services) 2020-01-18T19:00:42Z mercourisj is now known as jmercouris 2020-01-18T19:02:13Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T19:06:12Z ggole quit (Quit: Leaving) 2020-01-18T19:07:59Z gabiruh joined #lisp 2020-01-18T19:08:45Z akrl` quit (Read error: Connection reset by peer) 2020-01-18T19:08:52Z akrl` joined #lisp 2020-01-18T19:09:24Z varjag joined #lisp 2020-01-18T19:12:03Z harovali quit (Ping timeout: 260 seconds) 2020-01-18T19:13:29Z asarch quit (Quit: Leaving) 2020-01-18T19:14:49Z davr0s__ quit (Quit: Ex-Chat) 2020-01-18T19:15:18Z dnaeon joined #lisp 2020-01-18T19:18:23Z cl-arthur joined #lisp 2020-01-18T19:18:55Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-18T19:20:25Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-18T19:21:09Z akrl` quit (Ping timeout: 268 seconds) 2020-01-18T19:23:25Z cl-arthur joined #lisp 2020-01-18T19:23:40Z clothespin joined #lisp 2020-01-18T19:25:09Z Ven`` quit (Ping timeout: 258 seconds) 2020-01-18T19:25:35Z cosimone joined #lisp 2020-01-18T19:25:45Z Ven`` joined #lisp 2020-01-18T19:25:46Z rumbler31 quit (Remote host closed the connection) 2020-01-18T19:26:15Z rumbler31 joined #lisp 2020-01-18T19:28:45Z Oladon joined #lisp 2020-01-18T19:29:43Z akrl` joined #lisp 2020-01-18T19:33:24Z vlatkoB_ quit (Remote host closed the connection) 2020-01-18T19:33:34Z dnaeon joined #lisp 2020-01-18T19:35:08Z vlatkoB joined #lisp 2020-01-18T19:38:03Z ljavorsk_ joined #lisp 2020-01-18T19:38:25Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T19:39:03Z phoe quit (Quit: leaving) 2020-01-18T19:40:20Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-18T19:41:31Z akrl` quit (Ping timeout: 265 seconds) 2020-01-18T19:41:56Z dnaeon joined #lisp 2020-01-18T19:43:10Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-18T19:44:10Z akrl` joined #lisp 2020-01-18T19:44:23Z jmercouris quit (Remote host closed the connection) 2020-01-18T19:45:55Z cosimone quit (Quit: Quit.) 2020-01-18T19:47:19Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-18T19:47:35Z cosimone joined #lisp 2020-01-18T19:48:32Z Lycurgus joined #lisp 2020-01-18T19:49:22Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-18T19:49:30Z EvW joined #lisp 2020-01-18T19:50:37Z brettgilio joined #lisp 2020-01-18T19:55:53Z akrl` quit (Ping timeout: 272 seconds) 2020-01-18T19:56:40Z z147 joined #lisp 2020-01-18T20:00:01Z dnaeon joined #lisp 2020-01-18T20:00:27Z cowboy27 quit (Remote host closed the connection) 2020-01-18T20:00:46Z z147 quit (Remote host closed the connection) 2020-01-18T20:01:06Z z147 joined #lisp 2020-01-18T20:01:27Z akrl` joined #lisp 2020-01-18T20:01:35Z bilegeek joined #lisp 2020-01-18T20:04:33Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-18T20:07:04Z analogue joined #lisp 2020-01-18T20:10:39Z Ven`` joined #lisp 2020-01-18T20:13:34Z akrl` quit (Ping timeout: 268 seconds) 2020-01-18T20:15:57Z boeg: How can I tell sly (or slime) to like clean up the sbcl image? So say I have a function loaded among a lot of other stuff, and I remove the functions from the code, how can I make sly/slime to like start from scratch, load everything anew from source files? 2020-01-18T20:17:45Z LdBeth: you just have to unintern the function and let gc do it’s work 2020-01-18T20:18:19Z dnaeon joined #lisp 2020-01-18T20:18:22Z boeg: LdBeth: alright, thank you 2020-01-18T20:18:42Z LdBeth: or (setf (symbol-function ...) nil) 2020-01-18T20:19:08Z akrl` joined #lisp 2020-01-18T20:19:34Z galdor: or fmakunbound 2020-01-18T20:19:43Z boeg: ah, cool! 2020-01-18T20:20:10Z galdor: in general with slime it's a lot simpler to use M-x slime-restart-inferior-lisp 2020-01-18T20:20:17Z xuxuru joined #lisp 2020-01-18T20:20:40Z xuxuru quit (Client Quit) 2020-01-18T20:23:05Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-18T20:23:30Z papachan quit (Quit: Leaving) 2020-01-18T20:28:10Z EvW quit (Ping timeout: 252 seconds) 2020-01-18T20:31:01Z akrl` quit (Ping timeout: 268 seconds) 2020-01-18T20:35:44Z Lycurgus quit (Remote host closed the connection) 2020-01-18T20:36:33Z dnaeon joined #lisp 2020-01-18T20:41:19Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-18T20:42:27Z cosimone quit (Quit: Quit.) 2020-01-18T20:43:37Z pjb: boeg: type ,restart RET 2020-01-18T20:43:53Z boeg: pjb: ah! 2020-01-18T20:43:57Z boeg: thats great too, thanks 2020-01-18T20:44:45Z akrl` joined #lisp 2020-01-18T20:45:24Z dale joined #lisp 2020-01-18T20:45:57Z jayspeer quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-18T20:47:00Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-18T20:54:47Z dnaeon joined #lisp 2020-01-18T20:56:26Z Posterdati: hi 2020-01-18T20:56:41Z akrl` quit (Ping timeout: 272 seconds) 2020-01-18T20:57:05Z pjb: hi 2020-01-18T20:57:49Z Posterdati: please I have a problem quickloading lisp-unit2 --> Symbol "*SYSTEMS-BEING-OPERATED*" not found in the ASDF/OPERATE package 2020-01-18T20:58:00Z akrl` joined #lisp 2020-01-18T20:58:08Z Posterdati: running sbcl 2.0 on OpenBSD 6.6 (amd64) 2020-01-18T20:59:23Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-18T21:04:28Z asdf_asdf_asdf: Write (ql:quickload ... 2020-01-18T21:05:37Z ljavorsk_ quit (Ping timeout: 265 seconds) 2020-01-18T21:06:21Z cosimone joined #lisp 2020-01-18T21:09:29Z akrl` quit (Ping timeout: 265 seconds) 2020-01-18T21:12:06Z narimiran quit (Ping timeout: 258 seconds) 2020-01-18T21:13:00Z dnaeon joined #lisp 2020-01-18T21:15:28Z Ven`` joined #lisp 2020-01-18T21:16:09Z akrl` joined #lisp 2020-01-18T21:17:14Z dnaeon quit (Ping timeout: 240 seconds) 2020-01-18T21:20:58Z Khisanth quit (Ping timeout: 260 seconds) 2020-01-18T21:21:35Z asdf_asdf_asdf quit (Ping timeout: 268 seconds) 2020-01-18T21:23:21Z EvW1 joined #lisp 2020-01-18T21:27:18Z analogue quit (Quit: Leaving) 2020-01-18T21:31:14Z dnaeon joined #lisp 2020-01-18T21:33:33Z Khisanth joined #lisp 2020-01-18T21:34:27Z X-Scale joined #lisp 2020-01-18T21:34:53Z jonatack quit (Ping timeout: 245 seconds) 2020-01-18T21:35:57Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-18T21:37:48Z Jesin quit (Quit: Leaving) 2020-01-18T21:44:01Z Jesin joined #lisp 2020-01-18T21:49:29Z dnaeon joined #lisp 2020-01-18T21:54:19Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-18T21:54:22Z cosimone quit (Quit: Quit.) 2020-01-18T21:56:09Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-18T22:00:32Z cosimone joined #lisp 2020-01-18T22:02:46Z eeeeeta: so CL-JSON can serialize my CLOS object to JSON, which is great 2020-01-18T22:02:54Z eeeeeta: but how do I go from the JSON object to a CLOS object of a given class? 2020-01-18T22:03:08Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-18T22:05:38Z SenasOzys joined #lisp 2020-01-18T22:07:07Z pfdietz: When I read json into CL I first turn it into a tree with cons cells, and then walk that tree building objects. But this is json coming from external sources, not written out by cl-json. 2020-01-18T22:07:20Z pfdietz: I also use jsown, which is much faster than cl-json. 2020-01-18T22:07:39Z dnaeon joined #lisp 2020-01-18T22:10:24Z Oladon quit (Quit: Leaving.) 2020-01-18T22:11:49Z eeeeeta: ah right 2020-01-18T22:12:03Z eeeeeta: yeah, I suspect the answer is gonna end up being "don't use CL-JSON" 2020-01-18T22:12:18Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-18T22:19:50Z dnaeon joined #lisp 2020-01-18T22:21:32Z dnaeon quit (Client Quit) 2020-01-18T22:23:01Z asdf_asdf_asdf joined #lisp 2020-01-18T22:23:22Z decent-username quit (Read error: Connection reset by peer) 2020-01-18T22:23:30Z decent-username joined #lisp 2020-01-18T22:28:50Z clothespin quit (Ping timeout: 240 seconds) 2020-01-18T22:29:09Z pfdietz: cl-json has a lot of CLOS-ness in it, I think. Maybe that would be useful for doing what you want? jsown is more spartan. 2020-01-18T22:32:26Z akoana joined #lisp 2020-01-18T22:40:34Z emaczen joined #lisp 2020-01-18T22:41:07Z oni-on-ion quit (Remote host closed the connection) 2020-01-18T22:43:42Z jamzattack joined #lisp 2020-01-18T22:45:13Z karlosz joined #lisp 2020-01-18T22:47:13Z oni-on-ion joined #lisp 2020-01-18T22:47:49Z emaczen: What is the preferred paste posting site? 2020-01-18T22:49:10Z karlosz: no-defun-allowed: the compiler hangs? 2020-01-18T22:49:26Z karlosz: when you interrupt what does it say? 2020-01-18T22:50:00Z karlosz: emacszen: https://plaster.tymoon.eu/ 2020-01-18T22:50:29Z no-defun-allowed: karlosz: It's somewhere in IR1-PHASES. 2020-01-18T22:50:55Z karlosz: OK might be a real compiler bug if it never terminates 2020-01-18T22:51:00Z no-defun-allowed: Hm, then in SB-C::IR1-OPTIMIZE-PHASE-1. 2020-01-18T22:51:17Z no-defun-allowed: It might terminate, I've never let it run long enough though. 2020-01-18T22:51:37Z karlosz: yes, it would be more believable if it were just very slow 2020-01-18T22:52:07Z no-defun-allowed: It does compile after about 50 seconds on my laptop. 2020-01-18T22:52:07Z karlosz: do you know how to use sb-aprof? could you profile the compiler compiling it? 2020-01-18T22:52:15Z no-defun-allowed: Sure. 2020-01-18T22:54:22Z no-defun-allowed: https://pastebin.com/hTm1uhPv 2020-01-18T22:55:08Z no-defun-allowed: Looks like it's mostly doing type inference, like scymtym said it would be. 2020-01-18T22:55:13Z gabiruh quit (Read error: Connection reset by peer) 2020-01-18T22:55:21Z no-defun-allowed: Wait, sb-aprof or sb-sprof? 2020-01-18T22:55:40Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-18T22:55:56Z karlosz: uh, sprof 2020-01-18T22:56:10Z SenasOzys quit (Read error: Connection reset by peer) 2020-01-18T22:56:15Z karlosz: its probably too tricky to do aprof on the compiler 2020-01-18T22:57:11Z no-defun-allowed: Right. (I don't appear to have aprof on my laptop.) 2020-01-18T22:58:25Z karlosz: weird, its a contrib 2020-01-18T23:00:20Z no-defun-allowed: Hrm, I should install my SBCL over Ubuntu's SBCL (or just start SLIME with my SBCL, I guess). That seems to go badly when I have dependencies like Maxima which I installed from apt though. 2020-01-18T23:00:56Z karlosz: i think its easier to have quicklisp handle those things 2020-01-18T23:01:14Z karlosz: anyway, type prop should not take that long 2020-01-18T23:01:33Z no-defun-allowed: There's no sb-aprof in my contrib directory. Is it new? 2020-01-18T23:03:27Z jamzattack: this is where it's located for me: /usr/share/sbcl-source/src/code/aprof.lisp 2020-01-18T23:03:46Z emaczen: https://plaster.tymoon.eu/view/1646#1646 -- passing C Structs via libffi in SBCL 2020-01-18T23:03:54Z emaczen: Isn't there overall interest in this problem? 2020-01-18T23:03:55Z karlosz: ah i'm getting the allocation profiler mixed up with the precise profiler 2020-01-18T23:04:52Z no-defun-allowed: Right. 2020-01-18T23:05:04Z no-defun-allowed: Yeah, I wouldn't know what to trace. 2020-01-18T23:05:53Z karlosz: you could trace SB-C 2020-01-18T23:07:14Z emaczen: fiddlerwoaroof_: We've talked about this problem before 2020-01-18T23:08:14Z pjb: emaczen: currently termbin: #!/bin/bash \n nc termbin.com 9999 | tr -d '\000' 2020-01-18T23:08:14Z pjb: 2020-01-18T23:08:14Z pjb: 2020-01-18T23:08:14Z pjb: 2020-01-18T23:09:28Z no-defun-allowed: SB-C? How do you trace a package? 2020-01-18T23:12:42Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-18T23:12:46Z Nilby quit (Read error: Connection reset by peer) 2020-01-18T23:13:05Z Nilby joined #lisp 2020-01-18T23:15:32Z Ven`` quit (Read error: Connection reset by peer) 2020-01-18T23:15:44Z emaczen: Is there still a bounty for the more general problem? 2020-01-18T23:16:39Z karlosz: no-defun-allowed: iterate of over the package symbols 2020-01-18T23:17:03Z no-defun-allowed: Oh, I tried something like that (but probably too stupidly) and crashed SBCL. 2020-01-18T23:17:21Z karlosz: yeah, that's why it's difficult 2020-01-18T23:17:43Z karlosz: emacszen: what are you describing? 2020-01-18T23:17:45Z no-defun-allowed: "SB-C::%%ALLOCATE-CLOSURES can not be encapsulated" Should I just ignore these? 2020-01-18T23:18:48Z no-defun-allowed: Yep, crashed again. 2020-01-18T23:19:21Z karlosz: yeah, you don't want to profile stuff that look like functions but aren't actually functions 2020-01-18T23:19:25Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-18T23:19:56Z asdf_asdf_asdf joined #lisp 2020-01-18T23:20:08Z karlosz: i don't think instrumentation profiling on the compiler will work until the compiler is divided up into packages 2020-01-18T23:23:42Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-18T23:25:25Z terpri joined #lisp 2020-01-18T23:28:03Z kajo quit (Ping timeout: 272 seconds) 2020-01-18T23:29:04Z asdf_asdf_asdf joined #lisp 2020-01-18T23:29:20Z slyrus_ joined #lisp 2020-01-18T23:31:27Z kajo joined #lisp 2020-01-18T23:31:38Z slyrus__ quit (Ping timeout: 240 seconds) 2020-01-18T23:32:27Z LdBeth: https://www.cs.tufts.edu/~nr/cs257/archive/henry-baker/cons-lazy-alloc.pdf 2020-01-18T23:33:12Z wxie joined #lisp 2020-01-18T23:35:37Z LdBeth: I think it's the strategy used in chicken scheme 2020-01-18T23:36:03Z no-defun-allowed: I think Chicken uses part 2, aka "Cheney on the MTA". 2020-01-18T23:38:19Z terpri quit (Remote host closed the connection) 2020-01-18T23:38:56Z terpri joined #lisp 2020-01-18T23:39:10Z LdBeth: Is currently any Common Lisp able to allocate closure on stack? 2020-01-18T23:39:25Z karlosz quit (Quit: karlosz) 2020-01-18T23:39:56Z no-defun-allowed: Does the technique described in that paper let you allocate closures on the stack? 2020-01-18T23:40:06Z no-defun-allowed: I haven't heard of any that do. 2020-01-18T23:40:43Z shifty joined #lisp 2020-01-18T23:41:23Z knicklux quit (Ping timeout: 268 seconds) 2020-01-18T23:42:01Z LdBeth: *no-defun-allowed*: yes, also ALGOL and Pascal do so by default because they limited the use of nested function 2020-01-18T23:42:51Z LdBeth: so does Rust 2020-01-18T23:43:01Z no-defun-allowed: Sure, they don't let you return functions (IIRC). 2020-01-18T23:43:04Z econdudeawesome joined #lisp 2020-01-18T23:43:30Z econdudeawesome: Hi all. I've become interested in learning lisp, but the ecosystem seems pretty complex. Any pointers on where to start? 2020-01-18T23:44:32Z asdf_asdf_asdf: Yes, use (describe 'defun) or (inspect .... 2020-01-18T23:44:55Z LdBeth: econdudeawesome: https://lisp-lang.org/learn/writing-libraries 2020-01-18T23:44:57Z econdudeawesome: I'm more at the "what are packages friendly to new users" stage :) 2020-01-18T23:45:02Z econdudeawesome: Thanks LdBeth, will ready 2020-01-18T23:45:04Z econdudeawesome: read* 2020-01-18T23:45:13Z no-defun-allowed: asdf_asdf_asdf: Lurk harder, please. 2020-01-18T23:45:57Z asdf_asdf_asdf: What's mean "lurk harder"? 2020-01-18T23:46:22Z karlosz joined #lisp 2020-01-18T23:46:43Z LdBeth: econdudeawesome: the link I post introduce ASDF and Quicklisp, they're the tools you need to install any (modern) CL libraries though 2020-01-18T23:46:50Z karlosz: LdBeth: SBCL, CMUCL, and the commercial Lisp's 2020-01-18T23:46:52Z karlosz: at lesat 2020-01-18T23:46:55Z karlosz: at least these 2020-01-18T23:47:17Z nirved: econdudeawesome: https://github.com/CodyReichert/awesome-cl#learning-and-tutorials 2020-01-18T23:47:24Z no-defun-allowed: Hrm, you can search for a topic in https://www.cliki.net/ and get a list of libraries that relate to it. 2020-01-18T23:47:59Z emaczen: econdudeawesome: https://www.cliki.net/Getting%20Started 2020-01-18T23:48:40Z econdudeawesome: Yall rick! 2020-01-18T23:48:44Z econdudeawesome: rock* 2020-01-18T23:49:19Z terpri quit (Remote host closed the connection) 2020-01-18T23:49:34Z econdudeawesome: I'm a data scientist and have spent time in Python and C. I've always heard about Lisp but never thought about diving in. Seems like Julialang is an attempt to recreate it, figured it is worth the time investment to learn it 2020-01-18T23:49:51Z terpri joined #lisp 2020-01-18T23:50:02Z LdBeth: karlosz: Seems SBCL requires a explicit (declare (dynamic-extent 2020-01-18T23:50:27Z karlosz: yes, you can't stack allocate any old closure 2020-01-18T23:51:31Z Oladon joined #lisp 2020-01-18T23:52:49Z karlosz: LdBeth: what kind of behavior are you expecting? 2020-01-18T23:53:19Z terpri quit (Remote host closed the connection) 2020-01-18T23:53:29Z wxie quit (Ping timeout: 258 seconds) 2020-01-18T23:54:05Z terpri joined #lisp 2020-01-18T23:54:42Z ebrasca joined #lisp 2020-01-18T23:54:49Z terpri quit (Remote host closed the connection) 2020-01-18T23:55:18Z terpri joined #lisp 2020-01-18T23:55:26Z holycow joined #lisp 2020-01-18T23:55:36Z LdBeth: karlosz: using stack allocation majority of time if do so won't cause trouble 2020-01-18T23:56:03Z karlosz: LdBeth: how is the compiler supposed to know if it won't cause trouble if you don't declare? 2020-01-18T23:56:34Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-18T23:56:43Z karlosz: in common lisp functions can be redefined so you can't infer past function boundraries 2020-01-18T23:57:15Z aeth: actually 2020-01-18T23:57:18Z karlosz: SBCL does do a very limited amount of inference for standard library functions 2020-01-18T23:58:08Z Lord_of_Life joined #lisp 2020-01-18T23:58:16Z LdBeth: karlosz: ah, I see 2020-01-18T23:58:18Z aeth: SBCL doesn't infer past file boundaries. It does infer past function boundaries. C-c C-k (file compile) is safer than C-c C-c (form compile) because of this. Sometimes you get issues with C-c C-c in Emacs+SBCL, although it's rare. I've only ever encountered it when a function returns a constant string and you change the length of the string and now it gets a (string 64) instead of a (string 63) that it expected. 2020-01-18T23:58:30Z aeth: It would cause actual things like crashes unless it was (safety 0) though 2020-01-18T23:59:06Z aeth: s/would cause/wouldn't cause/ 2020-01-18T23:59:21Z aeth: You just get a type error when there's safety 2020-01-18T23:59:44Z oldtopman quit (Remote host closed the connection) 2020-01-19T00:00:08Z aeth: In a sense, the whole file boundary thing is a big issue even outside of languages like CL. I think in the LLVM/GCC world this is the issue of "LTO" or "link time optimization" that is a hard problem to do right. 2020-01-19T00:00:19Z terpri quit (Remote host closed the connection) 2020-01-19T00:00:43Z terpri joined #lisp 2020-01-19T00:00:58Z aeth: karlosz: SBCL can make more inferences about standard CL package functions because it has a package lock on them so they can't be redefined, and it might even have type declarations on them, I'm not sure. 2020-01-19T00:01:08Z karlosz: aeth: SBCL does not infer dynamic extentness pass function boundaries 2020-01-19T00:01:28Z karlosz: yes, that's correct 2020-01-19T00:04:37Z cosimone quit (Ping timeout: 260 seconds) 2020-01-19T00:04:42Z jamzattack left #lisp 2020-01-19T00:04:56Z aeth: karlosz: ah, okay, you're probably right, because it would always be problematic even without (safety 0) 2020-01-19T00:05:49Z emaczen: https://plaster.tymoon.eu/view/1646#1648 -- I think the problem is in #'define-ns-range-type 2020-01-19T00:08:19Z terpri quit (Remote host closed the connection) 2020-01-19T00:16:02Z decent-username quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-19T00:31:43Z random-nick quit (Ping timeout: 260 seconds) 2020-01-19T00:38:30Z Jeanne-Kamikaze joined #lisp 2020-01-19T00:39:34Z emaczen: Did the bounty for passing and returning c structs in SBCL get solved? 2020-01-19T00:41:26Z holycow quit (Quit: Lost terminal) 2020-01-19T00:51:49Z jack_rabbit quit (Ping timeout: 265 seconds) 2020-01-19T00:56:29Z turona_ joined #lisp 2020-01-19T00:56:43Z turona quit (Ping timeout: 272 seconds) 2020-01-19T00:58:28Z xkapastel joined #lisp 2020-01-19T00:58:58Z holycow joined #lisp 2020-01-19T00:59:15Z varjag quit (Ping timeout: 272 seconds) 2020-01-19T01:00:54Z Jeanne-Kamikaze: Hi, can someone help me getting started? I am trying to run the example on this website: http://wookie.lyonbros.com/ I have installed sbcl, quicklisp and spacemacs with slime. When I load the example into slime, or when I run sbcl --script myfile.lisp, I get an error: 'The name "WOOKIE" does not designate any package'. I have installed the package with (ql:quickload "wookie"), but it seems that sbcl on its own won't find it. What am I missing 2020-01-19T01:00:54Z Jeanne-Kamikaze: here? Thanks. 2020-01-19T01:06:34Z notzmv quit (Remote host closed the connection) 2020-01-19T01:06:56Z notzmv joined #lisp 2020-01-19T01:14:14Z _death: you need to quickload it every time the script runs, or you can save an image with it loaded 2020-01-19T01:15:51Z _death: you can also write a system definition for your project saying it depends on wookie, and quickload that or save an image with that 2020-01-19T01:18:39Z marusich joined #lisp 2020-01-19T01:23:45Z karlosz quit (Quit: karlosz) 2020-01-19T01:24:19Z __jrjsmrtn__ joined #lisp 2020-01-19T01:26:15Z _jrjsmrtn quit (Ping timeout: 258 seconds) 2020-01-19T01:39:32Z harovali joined #lisp 2020-01-19T01:43:03Z Necktwi quit (Ping timeout: 268 seconds) 2020-01-19T01:43:09Z Oladon quit (Quit: Leaving.) 2020-01-19T01:49:32Z Necktwi joined #lisp 2020-01-19T02:03:37Z hsaziz joined #lisp 2020-01-19T02:04:43Z z147 quit (Quit: z147) 2020-01-19T02:04:50Z slyrus__ joined #lisp 2020-01-19T02:05:44Z Kaisyu72 joined #lisp 2020-01-19T02:06:44Z Kaisyu7 quit (Ping timeout: 265 seconds) 2020-01-19T02:07:16Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-19T02:11:28Z terpri joined #lisp 2020-01-19T02:12:24Z milanj quit (Quit: This computer has gone to sleep) 2020-01-19T02:15:55Z raghavgururajan joined #lisp 2020-01-19T02:18:51Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-19T02:19:03Z gko_ joined #lisp 2020-01-19T02:22:19Z terpri quit (Remote host closed the connection) 2020-01-19T02:23:22Z terpri joined #lisp 2020-01-19T02:39:20Z econdudeawesome quit (Quit: leaving) 2020-01-19T02:40:13Z jack_rabbit joined #lisp 2020-01-19T02:40:54Z terpri quit (Remote host closed the connection) 2020-01-19T02:43:40Z terpri joined #lisp 2020-01-19T02:47:05Z ahungry joined #lisp 2020-01-19T02:48:32Z Jeanne-Kamikaze: Thanks _death, will try that out. 2020-01-19T02:55:33Z jack_rabbit quit (Ping timeout: 265 seconds) 2020-01-19T03:05:54Z terpri quit (Remote host closed the connection) 2020-01-19T03:08:32Z terpri joined #lisp 2020-01-19T03:16:24Z terpri quit (Remote host closed the connection) 2020-01-19T03:17:00Z terpri joined #lisp 2020-01-19T03:18:05Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-19T03:21:38Z flazh quit (Ping timeout: 258 seconds) 2020-01-19T03:22:59Z terpri quit (Quit: Leaving) 2020-01-19T03:24:13Z Oladon joined #lisp 2020-01-19T03:26:59Z hifitim joined #lisp 2020-01-19T03:30:48Z ebzzry quit (Read error: Connection reset by peer) 2020-01-19T03:47:42Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-19T03:50:11Z hifitim_ joined #lisp 2020-01-19T03:53:10Z hifitim quit (Ping timeout: 268 seconds) 2020-01-19T03:54:45Z Domaldel joined #lisp 2020-01-19T03:54:54Z Domaldel quit (Remote host closed the connection) 2020-01-19T04:05:27Z Lycurgus joined #lisp 2020-01-19T04:07:24Z milanj joined #lisp 2020-01-19T04:07:33Z hifitim_ quit (Ping timeout: 260 seconds) 2020-01-19T04:08:37Z Odin- quit (Ping timeout: 272 seconds) 2020-01-19T04:14:02Z Josh_2 quit (Ping timeout: 240 seconds) 2020-01-19T04:19:10Z Nilby quit (Read error: Connection reset by peer) 2020-01-19T04:25:02Z clothespin joined #lisp 2020-01-19T04:25:04Z ebrasca quit (Remote host closed the connection) 2020-01-19T04:40:26Z Oladon quit (Quit: Leaving.) 2020-01-19T04:44:40Z Lycurgus quit (Remote host closed the connection) 2020-01-19T04:45:35Z FreeBirdLjj joined #lisp 2020-01-19T04:49:46Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2020-01-19T04:57:50Z dddddd quit (Remote host closed the connection) 2020-01-19T05:10:51Z Ekho- is now known as Ekho 2020-01-19T05:18:34Z Oladon joined #lisp 2020-01-19T05:19:19Z nullman quit (Ping timeout: 268 seconds) 2020-01-19T05:45:54Z karlosz joined #lisp 2020-01-19T05:47:36Z gravicappa joined #lisp 2020-01-19T05:52:18Z ljavorsk_ joined #lisp 2020-01-19T05:59:48Z smokeink joined #lisp 2020-01-19T06:01:31Z zdm joined #lisp 2020-01-19T06:03:01Z Jeanne-Kamikaze quit (Ping timeout: 258 seconds) 2020-01-19T06:03:02Z Bike quit (Quit: Lost terminal) 2020-01-19T06:03:04Z smokeink: setting file position on a stream of type SB-INT:FORM-TRACKING-STREAM i.e. by doing: (file-position stream 50) give this error: "# is not positionable" what's the proper way to set the position for such a stream, or is it impossible? 2020-01-19T06:03:13Z smokeink: *gives 2020-01-19T06:04:30Z Oladon quit (Read error: Connection reset by peer) 2020-01-19T06:04:49Z smokeink: I have some reader macros which set the position back into the stream, depending on the form they encounter when (read)ing 2020-01-19T06:05:29Z Oladon joined #lisp 2020-01-19T06:06:37Z hsaziz quit (Quit: hsaziz) 2020-01-19T06:06:57Z ljavorsk_ quit (Ping timeout: 265 seconds) 2020-01-19T06:07:12Z smokeink: they work fine, but sbcl's (load ) fails with that error when reading forms with such dispatching macro characters, because it uses SB-INT:FORM-TRACKING-STREAM instead of a normal stream 2020-01-19T06:12:43Z beach: Good morning everyone! 2020-01-19T06:13:07Z ggole joined #lisp 2020-01-19T06:14:42Z vlatkoB joined #lisp 2020-01-19T06:15:09Z smokeink: good morning! 2020-01-19T06:16:38Z ebzzry joined #lisp 2020-01-19T06:22:46Z narimiran joined #lisp 2020-01-19T06:23:58Z akoana quit (Quit: leaving) 2020-01-19T06:27:30Z harovali1 joined #lisp 2020-01-19T06:28:43Z harovali quit (Ping timeout: 260 seconds) 2020-01-19T06:39:58Z shangul joined #lisp 2020-01-19T06:41:47Z akoana joined #lisp 2020-01-19T06:46:28Z smokeink: I'll try repeated calls to (unread-char ) instead of (file-position ); it should work 2020-01-19T07:05:13Z xkapastel joined #lisp 2020-01-19T07:12:17Z emaczen: https://plaster.tymoon.eu/view/1646#1648 -- can anyone help with passing C structs via libffi via sb-alien? 2020-01-19T07:12:47Z clothespin quit (Ping timeout: 260 seconds) 2020-01-19T07:18:02Z _whitelogger quit (Remote host closed the connection) 2020-01-19T07:20:15Z _whitelogger joined #lisp 2020-01-19T07:21:38Z shifty quit (Ping timeout: 240 seconds) 2020-01-19T07:38:34Z ahungry quit (Remote host closed the connection) 2020-01-19T07:41:07Z nullman joined #lisp 2020-01-19T07:41:33Z trittweiler_ joined #lisp 2020-01-19T07:52:20Z Oladon quit (Quit: Leaving.) 2020-01-19T07:55:30Z pjb: smokeink: not conforming. 2020-01-19T07:55:43Z pjb: smokeink: you can only call unread-char once after having read-char. 2020-01-19T07:55:54Z pjb: smokeink: it's undefined what happens if you call it more. 2020-01-19T07:56:26Z pjb: smokeink: "should" => go read clhs! 2020-01-19T07:56:29Z pjb: clhs unread-char 2020-01-19T07:56:29Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_unrd_c.htm 2020-01-19T07:57:02Z pjb: smokeink: file-position only works on file-streams. That's why it's called FILE-position, and not STREAM-position or something… 2020-01-19T07:57:15Z pjb: smokeink: you can load from non-file-streams. 2020-01-19T07:57:55Z pjb: smokeink: therefore your macro, to be able to "read" back, can only do it if it has saved the input in case of a non-file-stream. 2020-01-19T07:58:07Z aeth: I suppose if you need to unread e.g. three times, you could write your own buffer for read/unread. As in, even if the character is no longer in the stream, it can be in *your* buffer. 2020-01-19T07:58:47Z aeth: You could even use trivial-gray-streams if you wanted to do this using your own stream 2020-01-19T08:02:00Z pjb: aeth: exactly. Have a look at the COM.INFORMATIMAGO.COMMON-LISP.CESARUM.PEEK-STREAM package. 2020-01-19T08:02:12Z pjb: Or indeed, you could wrap it in a gray-streams. 2020-01-19T08:03:07Z epony quit (Quit: upgrades) 2020-01-19T08:10:17Z bilegeek quit (Quit: Leaving) 2020-01-19T08:11:49Z orivej quit (Ping timeout: 272 seconds) 2020-01-19T08:13:30Z nowhere_man joined #lisp 2020-01-19T08:16:03Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-19T08:24:26Z karlosz quit (Quit: karlosz) 2020-01-19T08:30:01Z nullman quit (Ping timeout: 265 seconds) 2020-01-19T08:31:15Z epony joined #lisp 2020-01-19T08:32:25Z epony quit (Max SendQ exceeded) 2020-01-19T08:32:53Z epony joined #lisp 2020-01-19T08:34:48Z narimiran quit (Quit: leaving) 2020-01-19T08:35:56Z dale quit (Quit: My computer has gone to sleep) 2020-01-19T09:04:46Z epony quit (Quit: QUIT) 2020-01-19T09:06:33Z milanj quit (Quit: This computer has gone to sleep) 2020-01-19T09:14:18Z smokeink: aeth, pjb: thank you 2020-01-19T09:16:05Z epony joined #lisp 2020-01-19T09:18:18Z raghavgururajan quit (Remote host closed the connection) 2020-01-19T09:19:58Z dnaeon joined #lisp 2020-01-19T09:22:24Z zaquest joined #lisp 2020-01-19T09:45:42Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-19T09:46:59Z Lycurgus joined #lisp 2020-01-19T09:49:28Z zaquest quit (Quit: Leaving) 2020-01-19T09:55:27Z zaquest joined #lisp 2020-01-19T09:55:38Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-19T09:56:01Z dnaeon joined #lisp 2020-01-19T09:59:06Z Lord_of_Life joined #lisp 2020-01-19T10:00:42Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-19T10:03:00Z oni-on-ion quit (Remote host closed the connection) 2020-01-19T10:03:23Z oni-on-ion joined #lisp 2020-01-19T10:06:27Z jonatack joined #lisp 2020-01-19T10:07:43Z varjag joined #lisp 2020-01-19T10:14:31Z dnaeon joined #lisp 2020-01-19T10:14:51Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-19T10:17:23Z cmatei quit (Remote host closed the connection) 2020-01-19T10:19:07Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-19T10:19:14Z rippa joined #lisp 2020-01-19T10:20:56Z Lord_of_Life joined #lisp 2020-01-19T10:22:55Z nowhere_man quit (Ping timeout: 272 seconds) 2020-01-19T10:29:22Z jonatack quit (Ping timeout: 260 seconds) 2020-01-19T10:36:52Z nullman joined #lisp 2020-01-19T10:38:15Z gko_ quit (Ping timeout: 258 seconds) 2020-01-19T10:38:23Z dnaeon joined #lisp 2020-01-19T10:46:33Z random-nick joined #lisp 2020-01-19T10:47:50Z nullman quit (Ping timeout: 258 seconds) 2020-01-19T10:52:58Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-19T10:56:59Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-19T10:58:24Z akoana left #lisp 2020-01-19T11:01:45Z brown121407 quit (Read error: Connection reset by peer) 2020-01-19T11:01:59Z brown121407 joined #lisp 2020-01-19T11:04:14Z Lycurgus quit (Remote host closed the connection) 2020-01-19T11:04:32Z seok joined #lisp 2020-01-19T11:04:34Z seok: morning 2020-01-19T11:06:02Z dnaeon joined #lisp 2020-01-19T11:06:35Z ljavorsk_ joined #lisp 2020-01-19T11:09:06Z jonatack joined #lisp 2020-01-19T11:10:26Z dnaeon quit (Ping timeout: 240 seconds) 2020-01-19T11:15:32Z smokeink: morning 2020-01-19T11:15:39Z no-defun-allowed: morning 2020-01-19T11:16:43Z gabiruh joined #lisp 2020-01-19T11:18:06Z smokeink: https://github.com/tokenrove/series/blob/master/s-code.lisp#L7434 <- isn't this a bug? if fn is not a symbol we can't do (function ,fn); if fn is a (lambda ()) , we can do (function ,fn) but there is no need 2020-01-19T11:20:01Z seok: should i store hash tables as text or lisp object files? 2020-01-19T11:24:25Z dnaeon joined #lisp 2020-01-19T11:24:33Z xuxuru joined #lisp 2020-01-19T11:28:26Z dnaeon quit (Ping timeout: 240 seconds) 2020-01-19T11:31:00Z beach: seok: It would be hard to store it as a Lisp object. 2020-01-19T11:31:54Z luis: emaczen: did you know you can do that with CFFI? 2020-01-19T11:33:49Z beach: smokeink: The function name can be (SETF ) 2020-01-19T11:34:24Z smokeink: as it is there, we can't do #M(compose #'+ #'1+) 2020-01-19T11:37:43Z smokeink: (function (setf car)) hmm 2020-01-19T11:39:28Z smokeink: can it be anything other than (setf ) and (lambda (...)...) ? 2020-01-19T11:40:17Z smokeink: if not , then maybe setf should be treated as a special case 2020-01-19T11:42:29Z dnaeon joined #lisp 2020-01-19T11:42:34Z milanj joined #lisp 2020-01-19T11:43:16Z trittweiler_ quit (Remote host closed the connection) 2020-01-19T11:43:24Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-19T11:44:46Z beach: smokeink: It looks like this function only takes names of functions as its second argument, not function objects. 2020-01-19T11:45:25Z Inline quit (Quit: Leaving) 2020-01-19T11:45:44Z smokeink: right, but isn't this an unnecessary limitation? 2020-01-19T11:46:34Z beach: I don't know. I don't see the purpose of the function in the first place. 2020-01-19T11:46:52Z dnaeon quit (Ping timeout: 258 seconds) 2020-01-19T11:47:14Z cl-arthur joined #lisp 2020-01-19T11:52:24Z smokeink: with that #M dispatch macro, instead of (MAP-FN 'T (COMPOSE #'1+ #'1+) (SCAN `(1 2))) , one can do (#M(compose #'1+ #'1+) (scan `(1 2))) - but compose won't work with the code as it's there, and it looks to me like it's just an unnecessary limitation ; it's not the only such crappy limitation ... "why should init be a function" https://www.reddit.com/r/lisp/comments/7rsfyn/testing_the_series_common_lisp_package/ 2020-01-19T11:53:15Z smokeink: ==> #Z(3 4) 2020-01-19T11:58:28Z Inline joined #lisp 2020-01-19T11:59:04Z Lord_of_Life_ joined #lisp 2020-01-19T12:00:02Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-19T12:00:24Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-19T12:00:53Z dnaeon joined #lisp 2020-01-19T12:03:03Z xuxuru quit (Ping timeout: 240 seconds) 2020-01-19T12:05:35Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-19T12:09:15Z mangul joined #lisp 2020-01-19T12:10:21Z seok: beach: so storing them as bytes is not a good idea? 2020-01-19T12:10:38Z shangul quit (Ping timeout: 268 seconds) 2020-01-19T12:11:15Z xuxuru joined #lisp 2020-01-19T12:11:39Z cmatei joined #lisp 2020-01-19T12:16:48Z mangul quit (Ping timeout: 268 seconds) 2020-01-19T12:17:28Z cosimone joined #lisp 2020-01-19T12:18:55Z dnaeon joined #lisp 2020-01-19T12:23:46Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-19T12:25:34Z dnaeon joined #lisp 2020-01-19T12:31:45Z bars0 quit (Quit: leaving) 2020-01-19T12:32:06Z bars0 joined #lisp 2020-01-19T12:32:51Z Odin- joined #lisp 2020-01-19T12:34:00Z nullman joined #lisp 2020-01-19T12:36:44Z xuxuru quit (Quit: xuxuru) 2020-01-19T12:37:01Z smokeink quit (Quit: Leaving) 2020-01-19T12:38:07Z hiroaki joined #lisp 2020-01-19T12:41:54Z jmercouris joined #lisp 2020-01-19T12:44:12Z beach: seok: What representation would you use? 2020-01-19T12:45:28Z dddddd joined #lisp 2020-01-19T13:01:15Z cosimone quit (Quit: Terminated!) 2020-01-19T13:01:38Z orivej joined #lisp 2020-01-19T13:04:41Z beach: seok: Tell me how you would save a hash table as bytes in a file, and I'll tell you whether it is a good idea or not. 2020-01-19T13:05:09Z seok: beach: i thought there were some libraries, are they not commonly used? 2020-01-19T13:06:23Z beach: seok: How would such a library work? 2020-01-19T13:08:34Z seok: I don't know, I have just remembered seeing some libraries before which lets you store CLOS objects as files. Imagined hashes would be simpler 2020-01-19T13:10:08Z scymtym joined #lisp 2020-01-19T13:10:08Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-19T13:12:22Z klltkr joined #lisp 2020-01-19T13:13:30Z cl-arthur joined #lisp 2020-01-19T13:21:13Z p_l: some implementations have ways around it (I think there was low-level access in some to generate a FASL file containing specific lisp objects) 2020-01-19T13:21:38Z p_l: for CLOS, you have the advantage of Meta Object Protocol allowing easy implementation of serialization 2020-01-19T13:25:33Z Bike joined #lisp 2020-01-19T13:28:50Z gigetoo quit (Ping timeout: 258 seconds) 2020-01-19T13:28:58Z ebzzry joined #lisp 2020-01-19T13:29:14Z gigetoo joined #lisp 2020-01-19T13:29:15Z p_l: seok: a pretty easy way would be to store the hash table as plist or alist, and use code like (with-open-file (*hashtable-file* "hashtable.file" :direction :read) (alexandria:plist-hash-table (read *hashtable-file*))) 2020-01-19T13:29:40Z beach: seok: Either way, these libraries will not store the object itself. There is always some transformation involved like serialization. That is why I told you that saving it as a Lisp object would be hard. 2020-01-19T13:30:03Z seok: cool, isn't that just saving as string and reading it back? 2020-01-19T13:30:16Z z147 joined #lisp 2020-01-19T13:43:34Z tfb: seok: there are only strings (well, sequences of bytes) on disk (at least in (almost all?) modern filesystems), so *something* is always doing that. It really depends on whether you have to do it or something does it for you. 2020-01-19T13:45:22Z gabiruh quit (Ping timeout: 260 seconds) 2020-01-19T13:48:29Z tfb: LispWorks has support for dumping forms (like hashtables &c) to FASL files FWIW 2020-01-19T13:48:54Z tfb: So it does the work for you in this case 2020-01-19T13:49:52Z developernotes joined #lisp 2020-01-19T13:50:10Z developernotes quit (Client Quit) 2020-01-19T13:59:51Z pjb: minion: memo for smokeink: there still a difference writing (function (lambda …)) instead of (lambda …). In the later case, the lambda macro will have to be expanded, and therefore *macroexpand-hook* will be called. In the former case, no such thing occurs. So there may be different side effects. 2020-01-19T13:59:51Z minion: Remembered. I'll tell smokeink when he/she/it next speaks. 2020-01-19T14:01:31Z gko_ joined #lisp 2020-01-19T14:02:27Z pjb: minion: memo for smokeink: there may also be a big difference if function is not cl:function. I note in this source that they use cl:defun, perhaps function is shadowed too. Check the package definition! 2020-01-19T14:02:27Z minion: Remembered. I'll tell smokeink when he/she/it next speaks. 2020-01-19T14:02:34Z boeg: Is there a function in sly (or slime) thats like sldb-show-frame-source/sldb-show-source, but where it jumps to the place in my local source code where the bug in *my* code is so I can fix it? 2020-01-19T14:03:03Z p_l: seok: the problem is that there's no standard textual representation for some objects 2020-01-19T14:03:15Z p_l: seok: so not everything can be "written" like most forms 2020-01-19T14:03:45Z pjb: boeg: how is this not what it does already? 2020-01-19T14:03:45Z pjb: 2020-01-19T14:04:17Z p_l: it's even not the case that hashtables are blocking it, but lack of standard serialization for things like classes - because hashtables can accept anything as key so long as sxhash works on it 2020-01-19T14:04:38Z lucasb joined #lisp 2020-01-19T14:05:02Z boeg: pjb: well, right now I introduced a bug where I use the wrong keyword parameter with make-instance, so when I run sldb-show-frame-source it jumps into the sbcl codebase where the code is run (i'm guessing), not into the place in my source code where i typed ":accessor" wrong. Does that make sense? 2020-01-19T14:05:10Z p_l: so it's easy to serialize a hashtable that uses a primitive type as keys (as most people think of hashtables), except common lisp hashtables (and actually hashtables in many other languages) support arbitrary keys 2020-01-19T14:05:52Z pjb: boeg: yep. In the sldb window you get a stack of frames, so you need to look down the first user function and type v to jump on it. 2020-01-19T14:07:42Z pjb: boeg: I guess you could write an emacs command to lookup for each frame if the source is in or outside some specific directory. 2020-01-19T14:09:39Z pjb: Serializing hash-table requires serializing the hash-table attributes, and then to initialize the deserialized table with them. It's feasible. At least we don't have the difficulty as with displaced arrays. 2020-01-19T14:09:53Z boeg: pjb: yes thanks 2020-01-19T14:09:56Z Odin-: p_l: Couldn't you define a serialisation for a hash table which barfs if printing readably and the key is bad? 2020-01-19T14:10:08Z pjb: You may still have to deal with circular structures… 2020-01-19T14:10:28Z p_l: Odin-: yes, but it wouldn't be as universal as the types that do print readably 2020-01-19T14:11:42Z Odin-: p_l: That's true. 2020-01-19T14:12:51Z pjb: I guess it's because of those additionnal attributes that there is no default printer/reader for hash-tables. Note that for arrays, the reader won't create arrays of the same types, or with fill pointers, or displaced, etc. The printer writes a projection. For a hash-table you would need at least :test otherwise the new table would be useless. 2020-01-19T14:12:53Z Odin-: Doesn't Clojure have to solve similar issues with its maps, though? 2020-01-19T14:13:10Z pjb: Perhaps it doesn't have different :test? 2020-01-19T14:13:19Z Odin-: That might be it. 2020-01-19T14:13:38Z Odin-: I think it relies on some JVM stuff for that. 2020-01-19T14:13:59Z Odin-: Each object defining the hash value. 2020-01-19T14:14:01Z p_l: Odin-: I think they might have YOLO'd it a bit 2020-01-19T14:14:04Z ljavorsk_ quit (Ping timeout: 258 seconds) 2020-01-19T14:14:10Z Odin-: There's also that. 2020-01-19T14:14:12Z jmercouris: so, circular structures are only an issue during traversal right? so the problem is that we have to traverse the structure to persist it to disk? 2020-01-19T14:14:25Z xuxuru joined #lisp 2020-01-19T14:14:26Z flip214: luis: why is 6-hex-digit as a length weird? 2020-01-19T14:14:48Z flip214: luis: did you start allowing JSON on the wire? 2020-01-19T14:16:55Z impaktor joined #lisp 2020-01-19T14:17:15Z impaktor left #lisp 2020-01-19T14:17:27Z p_l: Odin-: also, not interning symbols help there, IMO 2020-01-19T14:19:03Z dnaeon: hey all, what would be the idiomatic way to access nested alist values as returned by cl-json when using some nested JSON object? is there a library I'm missing, or should I just write my own function instead? This seems something that should already be provided by a library, but I haven't seen such. 2020-01-19T14:19:51Z dnaeon: currently I'm using my own util function, which simply REDUCEs the alist with the given key-path, but I was wondering whether there's such thing already? 2020-01-19T14:19:54Z FreeBirdLjj joined #lisp 2020-01-19T14:22:41Z _death: dnaeon: afaik everybody writes their own 2020-01-19T14:22:44Z cosimone joined #lisp 2020-01-19T14:23:40Z znc_jme joined #lisp 2020-01-19T14:23:52Z znc_jme quit (Client Quit) 2020-01-19T14:23:57Z beach: jmercouris: There is no problem what so ever in serializing a hash table to disk. The circularity "problem" can be solved with another hash table. But there is no standard way of doing it. 2020-01-19T14:24:02Z beach: jmercouris: Also, seok seems to think that the object itself can be saved to disk, but there is always going to be some conversion to an external representation. 2020-01-19T14:24:04Z dnaeon: _death: got it, thanks. 2020-01-19T14:25:09Z jmercouris: beach: oh I see, what if you took the contents into ram and literally piped them onto a disk 2020-01-19T14:25:55Z beach: jmercouris: Yes, and then the GC moves the objects so that their addresses no longer correspond to what you wrote on disk. 2020-01-19T14:26:10Z jmercouris: beach: true true... 2020-01-19T14:26:23Z beach: jmercouris: Or, you lose the reference to it in RAM, so the GC recycles the memory. 2020-01-19T14:27:15Z beach: jmercouris: You would need an operating system in which RAM is just a cache for secondary memory for it to work. Like CLOSOS for instance. 2020-01-19T14:28:23Z znc_jme joined #lisp 2020-01-19T14:28:25Z znc_jme quit (Client Quit) 2020-01-19T14:28:51Z jmercouris: beach: what if we just dumped the lisp image, couldn't that be effectively persisting the hash table? 2020-01-19T14:29:01Z jmercouris: I mean, it is really overkill, but it counts no? 2020-01-19T14:29:09Z beach: Sure, if you dump the entire image. 2020-01-19T14:29:17Z znc_jme joined #lisp 2020-01-19T14:31:53Z p_l: there was an extension to SBCL that allowed dumping partial images, so long as the image that loaded the resulting file was the same image that generated it 2020-01-19T14:32:30Z p_l: it essentially allowed you to do a dump of memory region and then reload it, but it did none of the stuff that FASLs do for relocation et al, so you had to use the same base image 2020-01-19T14:33:07Z znc_jme quit (Read error: Connection timed out) 2020-01-19T14:33:21Z znc_jme joined #lisp 2020-01-19T14:37:21Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-19T14:38:14Z xuxuru quit (Quit: xuxuru) 2020-01-19T14:41:37Z dnaeon joined #lisp 2020-01-19T14:41:42Z flip214: I've got a (make-hash-table :test #'equalp); is there a way to get structures or class instances recognized as (equal) keys? 2020-01-19T14:42:05Z flip214: I guess that for structures :TYPE vector or :TYPE list might achieve that, but that has a few disadvantages... 2020-01-19T14:42:30Z flip214: is there a way to get EQUALP work for my class instances? 2020-01-19T14:42:32Z jmercouris: flip214: I've been down that road, not a good time 2020-01-19T14:42:54Z jmercouris: I remember trying to get keymaps to respond to equal instead of equalp... 2020-01-19T14:43:47Z flip214: there's no GF that is used to get some hashable value from class instances, right? 2020-01-19T14:44:00Z flip214: Perhaps SB-EXT:DEFINE-HASH-TABLE-TEST will help me? 2020-01-19T14:45:06Z pjb: flip214: all objects can be compares with eql equal or equalp, so there's no way to say this object can only be compared with equal. 2020-01-19T14:46:14Z Posterdati: hi 2020-01-19T14:47:05Z Posterdati: please I'd like to submit some fixes for cffi and iolib for OpenBSD, is there anyone who can help me? Thanks 2020-01-19T14:47:06Z flip214: pjb: but "equality" (however defined) isn't recognized by default, unless they're EQ 2020-01-19T14:47:38Z dnaeon quit (Ping timeout: 240 seconds) 2020-01-19T14:49:00Z ljavorsk joined #lisp 2020-01-19T14:49:55Z flip214: perhaps the easiest way is to not use structures or classes but lists starting with some symbol 2020-01-19T14:51:56Z pjb: flip214: the point is that it may be meaningful to use either test function on whatever type of keys you have. 2020-01-19T14:52:06Z pjb: It's a semantic question. 2020-01-19T14:52:14Z xuxuru joined #lisp 2020-01-19T14:52:37Z dnaeon joined #lisp 2020-01-19T14:54:38Z flip214: basically I need to deduplicate lists of symbols, for space reasons 2020-01-19T14:54:55Z flip214: thanks! 2020-01-19T14:57:07Z narimiran joined #lisp 2020-01-19T14:57:23Z xuxuru quit (Ping timeout: 240 seconds) 2020-01-19T14:57:39Z jmercouris: flip214: I ended up going to lists 2020-01-19T14:57:40Z pjb: flip214: yep, but is (|FOO|) the same as (|foo|) or (|Foo|) ? 2020-01-19T14:57:53Z pjb: flip214: what about (bar:foo) vs. (quux:foo) ? 2020-01-19T14:58:35Z jmercouris: |FOO| is not the same as |foo| 2020-01-19T14:58:45Z pjb: says you. 2020-01-19T14:58:50Z jmercouris: that's true, I did say that :-D 2020-01-19T14:58:53Z pjb: It could be considered the same in some implementation. 2020-01-19T14:59:05Z jmercouris: I see 2020-01-19T14:59:12Z pjb: now, for symbols eql equal and equalp are the same, but for string keys it would be different. 2020-01-19T14:59:29Z pjb: And often users want case insensitivity… 2020-01-19T15:01:35Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-19T15:01:44Z jmercouris: I'm all about case insensitivity, some people turn off upcasing of symbols 2020-01-19T15:01:53Z pjb: For lists, it doesn't work: (defvar *lists* (make-hash-table :test 'equalp)) (defun intern-list (k) (or (gethash k *lists*) (setf (gethash k *lists*) k))) (setf *print-circle* t) (list (intern-list (list 'foo 'bar)) (intern-list (list 'foo 'bar)) (intern-list (list 'foo 'quux))) #| --> ((foo bar) (foo bar) (foo quux)) |# 2020-01-19T15:02:03Z dnaeon quit (Ping timeout: 260 seconds) 2020-01-19T15:02:31Z pjb: OOps, sorry. my error. 2020-01-19T15:03:36Z pjb: (defparameter *lists* (make-hash-table :test 'equalp)) (defun intern-list (k) (or (gethash k *lists*) (setf (gethash k *lists*) k))) (setf *print-circle* t) (list (intern-list (list 'foo 'bar)) (intern-list (list 'foo 'bar)) (intern-list (list 'foo 'quux))) #| --> (#1=(foo bar) #1# (foo quux)) |# 2020-01-19T15:04:00Z xuxuru joined #lisp 2020-01-19T15:04:16Z pjb: actually it works with equal too, so no change to my example to HiRE for conses… :-) 2020-01-19T15:05:45Z cosimone quit (Remote host closed the connection) 2020-01-19T15:12:48Z dnaeon joined #lisp 2020-01-19T15:16:16Z tcr joined #lisp 2020-01-19T15:17:00Z zxcvz joined #lisp 2020-01-19T15:17:25Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-19T15:18:04Z cosimone joined #lisp 2020-01-19T15:22:08Z Nilby joined #lisp 2020-01-19T15:22:45Z pfdietz: Writing tests for cl-ppcre, I am feeling the need for a coverage-guided fuzzer. 2020-01-19T15:23:52Z hifitim_ joined #lisp 2020-01-19T15:23:59Z _death: today's cute hack: https://plaster.tymoon.eu/view/1649#1649 2020-01-19T15:25:24Z hifitim_ quit (Client Quit) 2020-01-19T15:26:02Z _death: needs https://github.com/death/slime/commit/c2b03d67b2e8a53c2fe5acd594949d1755479829 2020-01-19T15:31:13Z dnaeon joined #lisp 2020-01-19T15:33:15Z random-nick quit (Ping timeout: 272 seconds) 2020-01-19T15:35:50Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-19T15:37:52Z raghavgururajan joined #lisp 2020-01-19T15:41:52Z gabiruh joined #lisp 2020-01-19T15:44:27Z pfdietz: Autoloading systems when packages are found? Nice. 2020-01-19T15:44:43Z pfdietz: This would work well with package-defined-system 2020-01-19T15:45:32Z random-nick joined #lisp 2020-01-19T15:46:41Z _death: yep 2020-01-19T15:48:04Z _death: likely came up with it because of Jeanne-Kamikaze's issue yesterday 2020-01-19T15:49:12Z dnaeon joined #lisp 2020-01-19T15:51:17Z _death: though it's aimed at repl use.. many times I want to call something and then go, oh, need to load that system first.. there could also be a slime repl shortcut I guess (i.e. something like ,load-system) 2020-01-19T15:54:09Z dnaeon quit (Ping timeout: 272 seconds) 2020-01-19T15:56:33Z gioyik joined #lisp 2020-01-19T16:16:46Z dnaeon joined #lisp 2020-01-19T16:24:24Z random-nick quit (Ping timeout: 258 seconds) 2020-01-19T16:26:34Z z147x joined #lisp 2020-01-19T16:27:48Z jonatack quit (Ping timeout: 260 seconds) 2020-01-19T16:28:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-19T16:30:52Z drdo left #lisp 2020-01-19T16:30:55Z z147x quit (Client Quit) 2020-01-19T16:31:40Z ljavorsk quit (Ping timeout: 268 seconds) 2020-01-19T16:37:08Z random-nick joined #lisp 2020-01-19T16:42:58Z atgreen joined #lisp 2020-01-19T16:44:24Z kajo quit (Ping timeout: 252 seconds) 2020-01-19T16:45:49Z kajo joined #lisp 2020-01-19T16:46:54Z gko_ quit (Ping timeout: 268 seconds) 2020-01-19T16:51:14Z dnaeon quit (Ping timeout: 258 seconds) 2020-01-19T17:01:10Z klltkr joined #lisp 2020-01-19T17:04:51Z dnaeon joined #lisp 2020-01-19T17:06:25Z flazh joined #lisp 2020-01-19T17:09:15Z dnaeon quit (Ping timeout: 258 seconds) 2020-01-19T17:14:00Z cosimone quit (Quit: Quit.) 2020-01-19T17:15:05Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-19T17:17:32Z cosimone joined #lisp 2020-01-19T17:24:42Z zxcvz quit (Quit: Leaving) 2020-01-19T17:24:42Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-19T17:26:28Z jonatack joined #lisp 2020-01-19T17:28:33Z cosimone quit (Remote host closed the connection) 2020-01-19T17:28:59Z karlosz joined #lisp 2020-01-19T17:29:02Z cosimone joined #lisp 2020-01-19T17:32:23Z dnaeon joined #lisp 2020-01-19T17:32:43Z rwcom quit (Ping timeout: 268 seconds) 2020-01-19T17:33:06Z rwcom joined #lisp 2020-01-19T17:34:14Z karlosz quit (Quit: karlosz) 2020-01-19T17:34:23Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-19T17:35:12Z clothespin joined #lisp 2020-01-19T17:35:23Z pfdietz: Hmm, that uses a restart that was only recently added to SBCL. Nice to see it has another use. 2020-01-19T17:35:40Z brown121407 joined #lisp 2020-01-19T17:37:02Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-19T17:37:15Z _death: what was the original use case? 2020-01-19T17:42:41Z pfdietz: I was slurping in large amounts of lisp code to act as fodder for random input generation for testing the compiler, and didn't want to have to have all the packages defined. 2020-01-19T17:43:08Z pfdietz: So if I came across FOO::BAR and FOO wasn't a package I wanted an API to turn that into something else. 2020-01-19T17:43:58Z pfdietz: The reading did not have to be faithful, just mostly ok, because the forms were then shuffled and hacked up anyway. 2020-01-19T17:49:25Z dddddd quit (Ping timeout: 272 seconds) 2020-01-19T17:51:54Z phoe joined #lisp 2020-01-19T17:52:08Z _death: I see.. btw a coverage-guided fuzzer doesn't seem that far-fetched given the existence sb-cover, right? 2020-01-19T17:52:24Z pfdietz: Or COVER, which is perhaps better for that. 2020-01-19T17:52:56Z _death: the old portable one?.. hmm 2020-01-19T17:52:59Z pfdietz: Yes. 2020-01-19T17:53:10Z _death: does speed not matter that much? 2020-01-19T17:53:19Z pfdietz: It does not. 2020-01-19T17:54:14Z pfdietz: I had a proof of principle using cover at one point, but not now for IP reasons. 2020-01-19T17:55:49Z pfdietz: Idea was to hack the point data structure to be more general, and provide a version that allows checkpointing and rollback. When an input is found that increases coverage, add it to the pot. The rollback is for test minimization. 2020-01-19T17:56:54Z pfdietz: What it did not do is use local structure of code to guide search, like some fuzzers now do. But one could imagine doing that too. 2020-01-19T17:57:24Z _death: the naive one seems good for many fuzzers 2020-01-19T17:58:49Z _death: not long ago I saw it mentioned in https://events19.linuxfoundation.org/wp-content/uploads/2017/11/Syzbot-and-the-Tale-of-Thousand-Kernel-Bugs-Dmitry-Vyukov-Google.pdf 2020-01-19T18:02:21Z dnaeon joined #lisp 2020-01-19T18:02:24Z dddddd joined #lisp 2020-01-19T18:04:42Z pfdietz quit (Remote host closed the connection) 2020-01-19T18:06:34Z emys joined #lisp 2020-01-19T18:13:13Z brown121407 quit (Read error: Connection reset by peer) 2020-01-19T18:14:10Z brown121407 joined #lisp 2020-01-19T18:15:42Z leo_song quit (Ping timeout: 246 seconds) 2020-01-19T18:16:30Z leo_song joined #lisp 2020-01-19T18:20:06Z scymtym_ joined #lisp 2020-01-19T18:21:56Z scymtym quit (Ping timeout: 248 seconds) 2020-01-19T18:22:11Z tcr quit (Remote host closed the connection) 2020-01-19T18:25:36Z jebes joined #lisp 2020-01-19T18:26:32Z scymtym_ quit (Ping timeout: 260 seconds) 2020-01-19T18:29:00Z harovali1 quit (Read error: Connection reset by peer) 2020-01-19T18:29:25Z harovali joined #lisp 2020-01-19T18:30:22Z emys quit (Ping timeout: 252 seconds) 2020-01-19T18:34:14Z emys joined #lisp 2020-01-19T18:36:42Z ggole quit (Quit: Leaving) 2020-01-19T18:42:26Z jmercouris quit (Ping timeout: 240 seconds) 2020-01-19T18:43:30Z Oladon joined #lisp 2020-01-19T18:47:55Z icov0x29a joined #lisp 2020-01-19T18:48:52Z icov0x29a quit (Read error: Connection reset by peer) 2020-01-19T18:53:19Z dnaeon quit (Ping timeout: 268 seconds) 2020-01-19T18:54:08Z ArthurStrong joined #lisp 2020-01-19T18:58:32Z karlosz joined #lisp 2020-01-19T18:58:32Z ebzzry quit (Read error: Connection reset by peer) 2020-01-19T19:02:32Z brown121408 joined #lisp 2020-01-19T19:03:10Z dnaeon joined #lisp 2020-01-19T19:04:02Z brown121407 quit (Ping timeout: 240 seconds) 2020-01-19T19:04:55Z sjl_ joined #lisp 2020-01-19T19:06:27Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-19T19:07:49Z dnaeon quit (Ping timeout: 265 seconds) 2020-01-19T19:11:08Z |3b|: cl-opengl users please test https://github.com/3b/cl-opengl/tree/dev with your code, needs more feedback to decide if recent changes are safe enough to release to quicklisp 2020-01-19T19:12:34Z |3b|: in particular looking for errors like `:foo is not defined as a keyword for enum type #<...>.`, found a few in the examples already, so a bit wary of releasing it 2020-01-19T19:13:14Z |3b|: (if you find any, let me know here or https://github.com/3b/cl-opengl/issues/92) 2020-01-19T19:15:14Z jmercouris joined #lisp 2020-01-19T19:15:20Z rumbler31 quit (Remote host closed the connection) 2020-01-19T19:20:02Z milanj quit (Quit: This computer has gone to sleep) 2020-01-19T19:23:44Z EvW joined #lisp 2020-01-19T19:27:25Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-19T19:28:18Z cosimone_ joined #lisp 2020-01-19T19:28:40Z tiwEllien joined #lisp 2020-01-19T19:29:25Z rumbler31 joined #lisp 2020-01-19T19:29:45Z cosimone_ quit (Client Quit) 2020-01-19T19:30:08Z cosimone quit (Ping timeout: 252 seconds) 2020-01-19T19:31:29Z cosimone joined #lisp 2020-01-19T19:34:09Z clothespin_ joined #lisp 2020-01-19T19:34:28Z rumbler31 quit (Ping timeout: 260 seconds) 2020-01-19T19:36:32Z clothespin quit (Ping timeout: 260 seconds) 2020-01-19T19:37:36Z tiwEllien quit (Ping timeout: 258 seconds) 2020-01-19T19:37:41Z cosimone quit (Quit: Quit.) 2020-01-19T19:38:09Z v88m joined #lisp 2020-01-19T19:39:03Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2020-01-19T19:40:19Z tiwEllien joined #lisp 2020-01-19T19:41:34Z troydm joined #lisp 2020-01-19T19:41:35Z brown121408 quit (Read error: Connection reset by peer) 2020-01-19T19:41:52Z brown121408 joined #lisp 2020-01-19T19:42:18Z notzmv quit (Remote host closed the connection) 2020-01-19T19:43:27Z emys quit (Ping timeout: 268 seconds) 2020-01-19T19:44:50Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-19T19:46:01Z trafaret1 joined #lisp 2020-01-19T19:47:25Z tiwEllien joined #lisp 2020-01-19T19:47:27Z rwcom quit (Ping timeout: 265 seconds) 2020-01-19T19:48:10Z rwcom joined #lisp 2020-01-19T19:48:46Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-19T19:48:51Z torbo joined #lisp 2020-01-19T19:50:40Z notzmv joined #lisp 2020-01-19T19:51:05Z xuxuru quit (Quit: xuxuru) 2020-01-19T19:54:44Z EvW quit (Ping timeout: 248 seconds) 2020-01-19T19:55:31Z xuxuru joined #lisp 2020-01-19T19:56:01Z emys joined #lisp 2020-01-19T19:59:29Z Shinmera: |3b|: I'll try to remember to do a test tomorrow. 2020-01-19T20:00:11Z malfort joined #lisp 2020-01-19T20:00:43Z emys quit (Ping timeout: 268 seconds) 2020-01-19T20:00:50Z klltkr joined #lisp 2020-01-19T20:10:26Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-19T20:14:29Z pfdietz joined #lisp 2020-01-19T20:16:25Z zdm quit (Quit: WeeChat 2.7) 2020-01-19T20:16:48Z zdm joined #lisp 2020-01-19T20:22:02Z cosimone joined #lisp 2020-01-19T20:27:57Z asdf_asdf_asdf joined #lisp 2020-01-19T20:30:45Z EvW1 joined #lisp 2020-01-19T20:41:24Z karlosz quit (Remote host closed the connection) 2020-01-19T20:41:30Z bilegeek joined #lisp 2020-01-19T20:42:43Z narimiran quit (Ping timeout: 260 seconds) 2020-01-19T20:43:41Z vaporatorius quit (Read error: Connection reset by peer) 2020-01-19T20:43:48Z vaporatorius joined #lisp 2020-01-19T20:45:09Z cl-arthur joined #lisp 2020-01-19T20:45:19Z karlosz joined #lisp 2020-01-19T20:45:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-19T20:46:13Z Oladon quit (Quit: Leaving.) 2020-01-19T20:48:16Z xuxuru quit (Quit: xuxuru) 2020-01-19T20:54:02Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-19T20:54:26Z trafaret1 quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-19T20:54:42Z gxt quit (Quit: WeeChat 2.7) 2020-01-19T20:55:20Z dnaeon joined #lisp 2020-01-19T21:10:12Z Jeanne-Kamikaze joined #lisp 2020-01-19T21:12:36Z LdBeth: does SBCL support dumping incremental update to heap image? 2020-01-19T21:19:06Z dnaeon quit (Quit: WeeChat 2.7) 2020-01-19T21:19:44Z pjb` joined #lisp 2020-01-19T21:22:13Z pjb quit (Ping timeout: 272 seconds) 2020-01-19T21:27:58Z slyrus joined #lisp 2020-01-19T21:28:16Z Shinmera: what does that mean? 2020-01-19T21:29:42Z X-Scale` joined #lisp 2020-01-19T21:30:02Z jmercouris quit (Remote host closed the connection) 2020-01-19T21:30:19Z jmercouris joined #lisp 2020-01-19T21:31:05Z X-Scale quit (Ping timeout: 272 seconds) 2020-01-19T21:31:05Z X-Scale` is now known as X-Scale 2020-01-19T21:31:34Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-19T21:33:59Z Nilby quit (Ping timeout: 265 seconds) 2020-01-19T21:35:20Z sjl joined #lisp 2020-01-19T21:38:43Z nowhere_man joined #lisp 2020-01-19T21:40:01Z LdBeth: Shinmera: save only the difference between the old and new image instead of a standalone new image 2020-01-19T21:40:22Z Shinmera: it cannot do that. 2020-01-19T21:40:38Z bendersteed joined #lisp 2020-01-19T21:43:07Z clothespin_ quit (Ping timeout: 260 seconds) 2020-01-19T21:44:00Z oni-on-ion quit (Remote host closed the connection) 2020-01-19T21:44:23Z oni-on-ion joined #lisp 2020-01-19T21:45:03Z harovali: beach: thanks for your answer on McCLIM 2020-01-19T21:46:30Z harovali: I downloaded McCLIM in sbcl , and started trying the example suits 2020-01-19T21:46:46Z harovali: I liked the examples very much 2020-01-19T21:47:40Z harovali: While trying, some aparent normal uses yielded some conditions, I wonder how to handle that 2020-01-19T21:48:01Z harovali: I know I'm not showinf enough information 2020-01-19T21:48:28Z harovali: But maybe people already know what I'm talking about 2020-01-19T21:49:25Z LdBeth: I see why SBCL can't do so "The system expects to be loaded into a fixed-at-compile-time location in virtual memory" 2020-01-19T21:51:25Z _death: LdBeth: you could easily do that.. I saved a core to file "one", then ran sbcl --core one and save a core to file "two".. ran bsdiff one two one-to-two ... this created a 900K diff file.. the only issue is that it takes a bit of time 2020-01-19T21:52:58Z LdBeth: _death: and apply patches when loading :P 2020-01-19T21:53:02Z _death: yes 2020-01-19T22:06:36Z X-Scale` joined #lisp 2020-01-19T22:07:05Z cl-arthur quit (Quit: Lost terminal) 2020-01-19T22:07:43Z phoe: LdBeth: it supports dumping incremental updates to heap image, except they are called FASLs 2020-01-19T22:07:57Z phoe: and I know, this is not the answer that you were looking for 2020-01-19T22:08:04Z XachX: There was a project called steeldump 2020-01-19T22:08:36Z XachX: It was faster than fasls but needed a patched sbcl 2020-01-19T22:08:50Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-19T22:09:15Z X-Scale` is now known as X-Scale 2020-01-19T22:12:28Z dale joined #lisp 2020-01-19T22:19:39Z torbo quit (Remote host closed the connection) 2020-01-19T22:19:51Z quazimodo quit (Ping timeout: 272 seconds) 2020-01-19T22:20:49Z bitmapper joined #lisp 2020-01-19T22:21:16Z quazimodo joined #lisp 2020-01-19T22:24:10Z pjb` quit (Quit: renaming) 2020-01-19T22:24:34Z pjb joined #lisp 2020-01-19T22:29:20Z random-nick quit (Ping timeout: 268 seconds) 2020-01-19T22:29:46Z orivej quit (Ping timeout: 268 seconds) 2020-01-19T22:31:00Z harovali quit (Ping timeout: 268 seconds) 2020-01-19T22:33:27Z shifty joined #lisp 2020-01-19T22:36:08Z gabiruh quit (Read error: Connection reset by peer) 2020-01-19T22:39:38Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-19T22:40:56Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-19T22:54:14Z zdm quit (Quit: WeeChat 2.7) 2020-01-19T23:03:37Z atgreen quit (Ping timeout: 260 seconds) 2020-01-19T23:03:56Z milanj joined #lisp 2020-01-19T23:05:03Z jmercouris: the designer of spicelisp apparently invented :-) and :-( https://en.wikipedia.org/wiki/Scott_Fahlman 2020-01-19T23:05:59Z atgreen` joined #lisp 2020-01-19T23:06:38Z klltkr joined #lisp 2020-01-19T23:11:47Z bilegeek quit (Ping timeout: 260 seconds) 2020-01-19T23:12:26Z bilegeek joined #lisp 2020-01-19T23:13:44Z terpri joined #lisp 2020-01-19T23:14:28Z atgreen` quit (Remote host closed the connection) 2020-01-19T23:15:57Z _death: if he designed XML, it would be :-> 2020-01-19T23:16:13Z kajo quit (Ping timeout: 272 seconds) 2020-01-19T23:16:27Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-19T23:17:09Z kajo joined #lisp 2020-01-19T23:21:16Z jmercouris: lol 2020-01-19T23:21:19Z jmercouris quit (Remote host closed the connection) 2020-01-19T23:23:13Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-19T23:25:35Z klltkr joined #lisp 2020-01-19T23:28:07Z pfdietz: I have a copy of his thesis somewhere, in a box of books. 2020-01-19T23:30:36Z _death: was it the parmenides thing? 2020-01-19T23:32:11Z _death: ah, NETL 2020-01-19T23:33:07Z vms14 joined #lisp 2020-01-19T23:34:06Z _death: Parmenides is by someone else 2020-01-19T23:45:20Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-01-19T23:49:40Z Nilby joined #lisp 2020-01-19T23:58:30Z Lord_of_Life_ joined #lisp 2020-01-19T23:59:50Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-01-20T00:01:41Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-20T00:02:50Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-20T00:04:33Z varjag quit (Ping timeout: 260 seconds) 2020-01-20T00:04:52Z cosimone quit (Ping timeout: 260 seconds) 2020-01-20T00:10:03Z karlosz quit (Quit: karlosz) 2020-01-20T00:13:12Z akoana joined #lisp 2020-01-20T00:18:30Z ebrasca joined #lisp 2020-01-20T00:23:25Z atgreen joined #lisp 2020-01-20T00:27:29Z vap1 joined #lisp 2020-01-20T00:30:49Z vaporatorius quit (Ping timeout: 268 seconds) 2020-01-20T00:32:43Z pfdietz quit (Ping timeout: 260 seconds) 2020-01-20T00:34:45Z zdm joined #lisp 2020-01-20T00:37:05Z cyraxjoe quit (Quit: No Ping reply in 180 seconds.) 2020-01-20T00:38:24Z cyraxjoe joined #lisp 2020-01-20T00:41:31Z terpri quit (Remote host closed the connection) 2020-01-20T00:42:00Z terpri joined #lisp 2020-01-20T00:49:15Z Kaisyu72 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-20T00:50:33Z Kaisyu7 joined #lisp 2020-01-20T00:51:52Z hostile_ joined #lisp 2020-01-20T00:52:12Z hostile quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2020-01-20T00:55:01Z turona_ quit (Ping timeout: 272 seconds) 2020-01-20T00:55:44Z bitmapper quit (Remote host closed the connection) 2020-01-20T00:55:53Z turona joined #lisp 2020-01-20T00:56:28Z bitmapper joined #lisp 2020-01-20T01:01:21Z bitmapper quit (Ping timeout: 272 seconds) 2020-01-20T01:03:16Z klltkr quit (Ping timeout: 265 seconds) 2020-01-20T01:04:39Z klltkr_ joined #lisp 2020-01-20T01:13:06Z hostile_ quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2020-01-20T01:14:36Z bitmapper joined #lisp 2020-01-20T01:26:31Z hostile joined #lisp 2020-01-20T01:27:28Z marusich quit (Quit: Leaving) 2020-01-20T01:44:03Z asdf_asdf_asdf: Hi. How change value local variable inside function? 2020-01-20T01:45:34Z asdf_asdf_asdf: (defun abc (a) (setf a 10)) (let ((a 5)) (abc a) (print a) #| 10 |#) 2020-01-20T01:46:58Z no-defun-allowed: You can use a special variable: (defvar *a*) (defun abc () (setf *a* 10)) ... (let ((*a* 5)) ...) 2020-01-20T01:47:43Z asdf_asdf_asdf: no-defun-allowed, I want using let. 2020-01-20T01:47:55Z no-defun-allowed: Special variables can be bound using LET. 2020-01-20T01:48:40Z no-defun-allowed: DEFVAR is required so that the function ABC knows it is going to modify a special variable, but you can also (declare (special *a*)) in every use of the special variable. 2020-01-20T01:49:05Z LdBeth: asdf_asdf_asdf: i guess you want to save 10 into a cons 2020-01-20T01:49:23Z zooey quit (Ping timeout: 240 seconds) 2020-01-20T01:49:24Z emaczen` joined #lisp 2020-01-20T01:49:56Z no-defun-allowed: Another option is to use a box (a small structure with one element, or a 0-dimensional array), but then you have to unbox the value to use it and have to setf the value of the box to modify it. 2020-01-20T01:50:16Z zooey joined #lisp 2020-01-20T01:50:38Z no-defun-allowed: eg (defun abc (b) (setf (box-value b) 10)) (let ((a (box 5))) (abc a) (print (box-value a))) 2020-01-20T01:50:48Z fengshaun_ joined #lisp 2020-01-20T01:50:51Z no-defun-allowed: (The implementations of BOX, (SETF BOX-VALUE) and BOX-VALUE are left to the reader) 2020-01-20T01:51:11Z datajerk quit (Quit: ZNC 1.7.3 - https://znc.in) 2020-01-20T01:51:36Z CommanderViral quit (Ping timeout: 265 seconds) 2020-01-20T01:51:37Z CommanderViral1 joined #lisp 2020-01-20T01:51:41Z emaczen quit (Remote host closed the connection) 2020-01-20T01:51:53Z fengshaun quit (Ping timeout: 260 seconds) 2020-01-20T01:51:59Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-20T01:52:34Z mason quit (Ping timeout: 265 seconds) 2020-01-20T01:54:08Z ahungry joined #lisp 2020-01-20T01:54:08Z mason joined #lisp 2020-01-20T01:54:51Z chocimir joined #lisp 2020-01-20T01:56:29Z EvW joined #lisp 2020-01-20T01:56:48Z pjb: asdf_asdf_asdf: https://termbin.com/naey 2020-01-20T01:56:49Z pjb: 2020-01-20T01:57:03Z karlosz joined #lisp 2020-01-20T01:58:19Z pjb: asdf_asdf_asdf: have a look at: http://informatimago.com/articles/usenet.html#C-like-pointers-in-Lisp 2020-01-20T02:04:36Z Kaisyu7 joined #lisp 2020-01-20T02:04:39Z EvW quit (Ping timeout: 265 seconds) 2020-01-20T02:05:18Z bitmapper quit (Ping timeout: 260 seconds) 2020-01-20T02:07:35Z datajerk joined #lisp 2020-01-20T02:14:56Z asdf_asdf_asdf: Thanks all. Bu I want simple solution. 2020-01-20T02:15:08Z asdf_asdf_asdf: But* 2020-01-20T02:16:01Z pjb: asdf_asdf_asdf: write your own defun macro! 2020-01-20T02:16:27Z pjb: asdf_asdf_asdf: well, actually the problem is the function call, since it's pass by value. 2020-01-20T02:16:31Z no-defun-allowed: I gave you two; you can wrap it in a box or use a special variable. 2020-01-20T02:17:15Z no-defun-allowed: Another solution would be to create a closure and have the function call that to set the value: (defun abc (c) (funcall c 10)) (let ((a 5)) (abc (lambda (n) (setf a n))) (print a)) 2020-01-20T02:17:19Z pjb: asdf_asdf_asdf: you could kludge it with defining defun defmethod let let* progv etc so that all the variables would be symbol-macrolets to closures. 2020-01-20T02:17:34Z pjb: asdf_asdf_asdf: you want to code in C. 2020-01-20T02:19:02Z Josh_2 joined #lisp 2020-01-20T02:21:01Z terpri quit (Remote host closed the connection) 2020-01-20T02:22:09Z terpri joined #lisp 2020-01-20T02:25:04Z gabiruh joined #lisp 2020-01-20T02:26:16Z klltkr_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-20T02:27:01Z asdf_asdf_asdf: no-defun-allowed, OK. But I want, that in scope (defun abc (c) value was changed, not in scope (let ((a 5)). 2020-01-20T02:28:11Z no-defun-allowed: Modifying the binding for C that ABC gets won't affect the binding for whatever is in the LET. 2020-01-20T02:29:23Z no-defun-allowed: You need to pass the value through some kind of "box" as you would in C, or use a special variable to let ABC modify the binding established by LET. 2020-01-20T02:30:30Z asdf_asdf_asdf: How look "pass the value through some kind of "box"? 2020-01-20T02:30:55Z no-defun-allowed: As I said, (defun abc (b) (setf (box-value b) 10)) (let ((a (box 5))) (abc a) (print (box-value a))) 2020-01-20T02:31:23Z no-defun-allowed: The box can be a CONS (and the value its CAR), a structure with one value which is the box's value, or a 0-dimensional array whose only value is the box's value. 2020-01-20T02:31:32Z orivej joined #lisp 2020-01-20T02:31:32Z pjb: asdf_asdf_asdf: you are being dumb. This is lexical, therefore the variables are know to YOU when you write the fucking code! Just use different variable names! 2020-01-20T02:32:14Z pjb: (defun abc (a) (let ((x 5)) (setf a 100) (values a x))) (abc 0) #| --> 100 ; 5 |# 2020-01-20T02:32:22Z LdBeth agree 2020-01-20T02:32:38Z pjb: and since we have pass by value, don't try to mutate the variable in functions, instead get the result! 2020-01-20T02:33:12Z pjb: (defun abc (a) (let ((x 5)) (if (zerop a) (setf a (abc 1)) (setf a 100)) (values a x))) (abc 0) #| --> 100 ; 5 |# 2020-01-20T02:33:56Z vms14 quit (Remote host closed the connection) 2020-01-20T02:39:01Z ebzzry joined #lisp 2020-01-20T02:44:04Z asdf_asdf_asdf: OK, thanks. Maybe I select option 1. How change local var into global var using declare? I (declare (special x)), not working. 2020-01-20T02:44:44Z torbo joined #lisp 2020-01-20T02:53:06Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-20T03:00:04Z zdm quit (Quit: WeeChat 2.7) 2020-01-20T03:21:40Z oni-on-ion quit (Ping timeout: 252 seconds) 2020-01-20T03:23:28Z dddddd quit (Remote host closed the connection) 2020-01-20T03:35:53Z gabiruh quit (Ping timeout: 272 seconds) 2020-01-20T03:39:10Z oni-on-ion joined #lisp 2020-01-20T03:44:38Z chocimir quit (Quit: leaving) 2020-01-20T03:48:49Z chocimir joined #lisp 2020-01-20T03:58:49Z harovali joined #lisp 2020-01-20T04:01:30Z Bike quit (Quit: Lost terminal) 2020-01-20T04:03:24Z ebrasca quit (Remote host closed the connection) 2020-01-20T04:05:53Z holycow quit (Quit: Lost terminal) 2020-01-20T04:28:27Z milanj quit (Quit: This computer has gone to sleep) 2020-01-20T04:31:07Z ggole joined #lisp 2020-01-20T04:46:55Z igemnace joined #lisp 2020-01-20T04:51:05Z beach: Good morning everyone! 2020-01-20T04:55:43Z Nilby: Good afternoon. 2020-01-20T04:57:09Z zdm joined #lisp 2020-01-20T05:03:07Z gravicappa joined #lisp 2020-01-20T05:04:02Z zdm quit (Quit: WeeChat 2.7) 2020-01-20T05:05:03Z chocimir quit (Ping timeout: 268 seconds) 2020-01-20T05:08:25Z emys joined #lisp 2020-01-20T05:08:39Z zdm joined #lisp 2020-01-20T05:11:34Z igemnace quit (Quit: WeeChat 2.7) 2020-01-20T05:14:55Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-20T05:15:04Z X-Scale` joined #lisp 2020-01-20T05:15:08Z igemnace joined #lisp 2020-01-20T05:15:27Z bilegeek quit (Quit: Leaving) 2020-01-20T05:15:59Z space_otter joined #lisp 2020-01-20T05:16:52Z X-Scale` is now known as X-Scale 2020-01-20T05:19:30Z oxum quit (Remote host closed the connection) 2020-01-20T05:21:42Z emys quit (Ping timeout: 268 seconds) 2020-01-20T05:24:26Z chocimir joined #lisp 2020-01-20T05:29:59Z torbo quit (Remote host closed the connection) 2020-01-20T05:32:55Z oxum joined #lisp 2020-01-20T05:35:38Z sindan quit (Remote host closed the connection) 2020-01-20T05:36:06Z sindan joined #lisp 2020-01-20T05:37:31Z oxum quit (Ping timeout: 258 seconds) 2020-01-20T05:39:15Z oxum joined #lisp 2020-01-20T05:39:24Z narimiran joined #lisp 2020-01-20T05:41:23Z mrcom joined #lisp 2020-01-20T05:42:35Z zdm quit (Quit: WeeChat 2.7) 2020-01-20T05:43:28Z harovali: hi! How do you exit the (inspect ...) prompt? 2020-01-20T05:43:49Z harovali: q or () render 'No input at point' 2020-01-20T05:43:55Z harovali: slime/sbcl 2020-01-20T05:47:57Z jello_pudding joined #lisp 2020-01-20T05:49:29Z zdm joined #lisp 2020-01-20T05:50:22Z beach: harovali: I don't know the answer, but when you use SLIME, it is probably better to use the SLIME inspector. 2020-01-20T05:50:38Z beach: harovali: Even better, use Clouseau. 2020-01-20T05:50:46Z nmg joined #lisp 2020-01-20T05:55:25Z oxum quit (Remote host closed the connection) 2020-01-20T05:55:43Z oxum joined #lisp 2020-01-20T05:55:50Z gioyik quit (Quit: WeeChat 2.7) 2020-01-20T05:57:28Z brown121408 quit (Ping timeout: 268 seconds) 2020-01-20T05:58:48Z brown121408 joined #lisp 2020-01-20T06:01:03Z emaczen`: Did the bounty for passing and returning C structs in SBCL ever get completed? 2020-01-20T06:01:57Z no-defun-allowed: harovali: If all else fails in Emacs, usually C-g will get you somewhere that isn't where you are. 2020-01-20T06:02:14Z no-defun-allowed: It may also make a lot of beeping, depending on your configuration. 2020-01-20T06:03:01Z Cymew joined #lisp 2020-01-20T06:08:45Z zdm quit (Quit: WeeChat 2.7) 2020-01-20T06:09:07Z emaczen`: Here is the link to the bounty: https://www.bountysource.com/issues/75202399-wanted-by-value-structures-in-sb-alien $365! Surely someone here has a decent status update? 2020-01-20T06:14:07Z gxt joined #lisp 2020-01-20T06:14:09Z Nilby: I started working on it, but I got too bored. 2020-01-20T06:14:53Z vlatkoB joined #lisp 2020-01-20T06:15:28Z emaczen`: Nilby: Are you an SBCL developer? 2020-01-20T06:15:35Z Nilby: No. 2020-01-20T06:17:52Z Nilby: It's actually not that hard for x96_64 because structs are passed fairly simply, but there are a bunch of edge cases, and to do it for all architectures is much harder. 2020-01-20T06:18:02Z rwcom6 joined #lisp 2020-01-20T06:18:52Z emaczen`: I was just trying to use libffi, but I don't know where I went wrong... 2020-01-20T06:18:54Z Inline quit (Quit: Leaving) 2020-01-20T06:19:15Z Nilby: CCL can pass structs, but CFFI doesn't know how to use it, so I started by developing a patch for that too. 2020-01-20T06:20:15Z Nilby: The only way I got libffi working on windows was to compile it under cygwin and the use it under non-cygwin. 2020-01-20T06:20:26Z emaczen`: Nilby: I just want SBCL on linux 2020-01-20T06:20:28Z rwcom quit (Ping timeout: 268 seconds) 2020-01-20T06:20:29Z rwcom6 is now known as rwcom 2020-01-20T06:20:55Z beach strongly recommends programming in Common Lisp instead. 2020-01-20T06:21:03Z Nilby: Oh. On linux it just works for me. I don't know what I do wrong. 2020-01-20T06:21:55Z emaczen`: I can use libffi for other functions, but when it involves a struct, I either defined the C struct for libffi incorrectly or used the C struct incorrectly (probably the definition for libffi since I can use libffi in other cases just fine) 2020-01-20T06:23:15Z emaczen`: beach: It really is only a little bit of C I need, than a few wrappers and then +95% lisp! 2020-01-20T06:23:29Z emaczen`: Nilby: What do you mean by "it just works"? 2020-01-20T06:24:02Z shangul joined #lisp 2020-01-20T06:24:30Z Nilby: I just realized maybe I don't really use anything that passes structs on linux. I think opengl interfaces use it though. 2020-01-20T06:26:07Z Nilby: Actually I don't even have cffi-libffi loaded on linux, so I must have only been forced to use it on window where you have to for kernel calls. 2020-01-20T06:26:48Z Nilby: "on windows" that is. 2020-01-20T06:27:09Z emaczen`: Nilby: I'm using GNUStep, and just about 10% of the methods use really only 4 structs NSPoint, NSRange NSSize and NSRect 2020-01-20T06:27:29Z emaczen`: there are like 2 or 3 other structs that I am aware of, but they aren't really even used 2020-01-20T06:28:00Z Nilby: Ah, right. 2020-01-20T06:28:04Z ahungry quit (Remote host closed the connection) 2020-01-20T06:28:56Z emaczen`: Is $365 worth it for SBCL devs to solve this? 2020-01-20T06:28:58Z Cymew quit (Ping timeout: 260 seconds) 2020-01-20T06:29:09Z Nilby: If you're on x86_64, you can try just reading it off the stack yourself. Small structs like NSPoint are usually just sitting on the stack. 2020-01-20T06:29:46Z emaczen`: Nilby: How do I get the address of the stack pointer? 2020-01-20T06:30:05Z raghavgururajan quit (Remote host closed the connection) 2020-01-20T06:30:46Z harovali quit (Read error: Connection reset by peer) 2020-01-20T06:31:01Z harovali joined #lisp 2020-01-20T06:31:31Z Nilby: There's some way I forgot, but you can basically just do assembly instructions in lisp. I think in CCL it was already in a lisp variable. 2020-01-20T06:32:27Z Nilby: I'm probably not the right person to ask, since I hardly ever do such things, and only worked on it for a week during a fit of maddness. 2020-01-20T06:34:38Z Nilby: But I found looking at CCL code was very instructive, and it works quite well on MacOS with the objective-C stuff. 2020-01-20T06:34:50Z emaczen`: Nilby: Well, you are giving me good alternatives -- finding it on the stack makes sense to me. It is very much a lower-level solution that I am inexperienced with but I am aware of how some of these things work and it makes sense to me 2020-01-20T06:35:31Z dale quit (Quit: My computer has gone to sleep) 2020-01-20T06:42:00Z Codaraxis quit (Quit: Leaving) 2020-01-20T06:42:22Z emaczen`: Nilby: How do you do assembly instructions in Lisp? 2020-01-20T06:44:29Z Nilby: There's like a whole SB-ASSEM package that does it. 2020-01-20T06:47:26Z Nilby: sbcl mostly does i 2020-01-20T06:48:59Z Nilby: sbcl mostly does it with what it calls VOPs, You can see examples in say src/compiler/x86-64/arith.lisp 2020-01-20T06:50:26Z jello_pudding quit (Read error: Connection reset by peer) 2020-01-20T06:50:27Z jellopudding joined #lisp 2020-01-20T06:50:36Z zaquest quit (Quit: Leaving) 2020-01-20T06:52:14Z Nilby: It seems like in every Lisp written in Lisp you can write assembly in lisp syntax at some level. ccl and sbcl do so, and even in the lisp machines you can drop down into the microcode. 2020-01-20T06:53:24Z zaquest joined #lisp 2020-01-20T06:54:58Z emaczen`: Nilby: So from what I am looking at these VOPs define the base assembly instructions like move pop push etc, and then you can then use them in typical lisp prefix syntax? 2020-01-20T06:55:10Z Nilby: right 2020-01-20T06:56:15Z emaczen`: Nilby: Can I expect externed VOPs to be a "public" unchanging interface? 2020-01-20T06:56:52Z Nilby: I doubt it. 2020-01-20T06:57:40Z emaczen`: What can I expect, or do to try to achieve an unchanging interface? 2020-01-20T06:58:21Z Nilby: But sbcl and lisp interfaces do seem to stay compatible at least 10x longer than most software. 2020-01-20T06:59:48Z emaczen`: Yeah, it doesn't seem like something that would change a whole lot in my opinion but I don't really know what these SBCL devs are up to ha 2020-01-20T06:59:53Z Nilby: I'm not really the person to ask. Maybe some sbcl devs? 2020-01-20T07:00:10Z emaczen`: I guess I'll try it, I'll at least learn a lot about some of the internals of SBCL 2020-01-20T07:01:30Z Nilby: I would love to do that patch, but unfortunatly I get filled with disgust and anger when I look at aseembly code too much. 2020-01-20T07:01:42Z patrixl quit (Quit: Leaving.) 2020-01-20T07:01:54Z nika joined #lisp 2020-01-20T07:04:51Z oxum_ joined #lisp 2020-01-20T07:04:52Z oxum quit (Read error: Connection reset by peer) 2020-01-20T07:07:14Z emaczen`: Nilby: Make a bunch of abstractions first? Or it looks like if you just do a little bit at a time you would finish before anyone else does... 2020-01-20T07:08:46Z p_l: Nilby: that goes at least as far back as MACLISP 2020-01-20T07:09:55Z Nilby: Yes. Probably also Lisp 1.5 too. 2020-01-20T07:11:38Z Nilby: But PDP instructions irk me much less than Intel. 2020-01-20T07:11:46Z beach: The "assembler" I am using for SICL doesn't have a surface syntax, so it would be impractical for humans to use it. 2020-01-20T07:12:28Z beach: The program would look like (list (make-instance ...) (make-instance ...) ...) 2020-01-20T07:13:56Z Nilby: beach: Nice. Can't be forced to program in it if there's no syntax, right? *finger pointing at head meme* 2020-01-20T07:18:05Z beach: Exactly. But that's not the main objective. The main objective is to provide a good interface for the code generator of the compiler. 2020-01-20T07:18:32Z beach: It seems silly to generate surface syntax, only to have to parse it immediately after. 2020-01-20T07:25:01Z beach: Also, if the protocol at this level is well defined, it would be straightforward to provide one or more versions of the surface syntax, should someone feel like programming such a thing. 2020-01-20T07:28:03Z mangul joined #lisp 2020-01-20T07:29:21Z beach: https://github.com/robert-strandh/Cluster in case someone is interested in this idea. 2020-01-20T07:29:54Z beach: In fact, I could probably use some help to add new instructions to the database. 2020-01-20T07:30:59Z shangul quit (Ping timeout: 258 seconds) 2020-01-20T07:33:05Z beach: Currently, I add instructions incrementally, as I need them for the compiler backend. 2020-01-20T07:37:30Z shifty quit (Ping timeout: 258 seconds) 2020-01-20T07:39:17Z Cymew joined #lisp 2020-01-20T07:44:37Z flamebeard joined #lisp 2020-01-20T07:53:21Z emys joined #lisp 2020-01-20T07:59:13Z Cymew quit (Ping timeout: 265 seconds) 2020-01-20T07:59:50Z Duuqnd joined #lisp 2020-01-20T08:02:31Z chocimir quit (Ping timeout: 272 seconds) 2020-01-20T08:12:46Z jellopudding quit (Read error: Connection reset by peer) 2020-01-20T08:13:08Z jellopudding joined #lisp 2020-01-20T08:15:37Z nika quit 2020-01-20T08:18:18Z milanj joined #lisp 2020-01-20T08:18:26Z emys quit (Read error: Connection timed out) 2020-01-20T08:18:30Z bendersteed quit (Remote host closed the connection) 2020-01-20T08:22:23Z emys joined #lisp 2020-01-20T08:30:02Z karlosz quit (Quit: karlosz) 2020-01-20T08:33:40Z cmatei quit (Ping timeout: 268 seconds) 2020-01-20T08:35:43Z emys quit (Ping timeout: 245 seconds) 2020-01-20T08:37:11Z emaczen` quit (Ping timeout: 268 seconds) 2020-01-20T08:39:36Z emys joined #lisp 2020-01-20T08:44:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-20T08:48:25Z Cymew joined #lisp 2020-01-20T08:50:03Z madage quit (Ping timeout: 240 seconds) 2020-01-20T08:52:02Z Josh_2 quit (Ping timeout: 240 seconds) 2020-01-20T08:53:04Z emys quit (Ping timeout: 265 seconds) 2020-01-20T08:53:38Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-20T08:53:51Z jonatack quit (Ping timeout: 246 seconds) 2020-01-20T08:54:39Z montaropdf joined #lisp 2020-01-20T08:55:00Z Cymew quit (Ping timeout: 265 seconds) 2020-01-20T08:55:47Z ebzzry joined #lisp 2020-01-20T08:56:18Z emys joined #lisp 2020-01-20T08:56:38Z hjudt quit (Quit: leaving) 2020-01-20T08:56:43Z jonatack joined #lisp 2020-01-20T08:57:41Z JohnMS_WORK joined #lisp 2020-01-20T08:58:55Z hjudt joined #lisp 2020-01-20T09:01:18Z william1 joined #lisp 2020-01-20T09:03:29Z madage joined #lisp 2020-01-20T09:03:34Z davepdotorg joined #lisp 2020-01-20T09:04:43Z emys quit (Ping timeout: 260 seconds) 2020-01-20T09:05:19Z emys joined #lisp 2020-01-20T09:08:28Z LdBeth: beach: does it support object relocation? 2020-01-20T09:08:59Z milanj quit (Quit: Leaving) 2020-01-20T09:09:17Z beach: No, it has no such facility (yet). Not sure whether it will be needed. 2020-01-20T09:10:03Z beach: I am using position-independent code, so no relocation required there. 2020-01-20T09:10:45Z vap1 quit (Read error: Connection reset by peer) 2020-01-20T09:11:06Z beach: And it does not have any facility for defining memory contents other than instructions, because that is not useful for its intended use. 2020-01-20T09:11:10Z vap1 joined #lisp 2020-01-20T09:12:50Z LdBeth: So it implies that the input has already processed future reference of labels? 2020-01-20T09:13:28Z beach: Sort of. It assumes that all labels are already in the program. 2020-01-20T09:15:18Z hhdave joined #lisp 2020-01-20T09:16:11Z beach: It is not meant for separate compilation followed by linking. Just as a backend for Common Lisp compilers. 2020-01-20T09:16:42Z LdBeth: I see 2020-01-20T09:18:41Z emys quit (Ping timeout: 265 seconds) 2020-01-20T09:19:31Z emys joined #lisp 2020-01-20T09:21:04Z oldtopman joined #lisp 2020-01-20T09:23:57Z emys quit (Ping timeout: 246 seconds) 2020-01-20T09:25:36Z hhdave quit (Ping timeout: 258 seconds) 2020-01-20T09:31:17Z jonatack quit (Ping timeout: 260 seconds) 2020-01-20T09:32:22Z davepdotorg quit (Read error: Connection reset by peer) 2020-01-20T09:32:38Z davepdotorg joined #lisp 2020-01-20T09:34:09Z hhdave joined #lisp 2020-01-20T09:34:09Z mangul quit (Ping timeout: 265 seconds) 2020-01-20T09:35:19Z jeosol joined #lisp 2020-01-20T09:36:15Z william1 quit (Ping timeout: 272 seconds) 2020-01-20T09:36:38Z oxum joined #lisp 2020-01-20T09:36:39Z oxum_ quit (Read error: Connection reset by peer) 2020-01-20T09:37:38Z gxt joined #lisp 2020-01-20T09:39:09Z oxum quit (Remote host closed the connection) 2020-01-20T09:44:02Z shangul joined #lisp 2020-01-20T09:46:51Z oxum joined #lisp 2020-01-20T09:48:35Z Cymew joined #lisp 2020-01-20T09:53:46Z jellopudding quit (Remote host closed the connection) 2020-01-20T09:54:09Z jellopudding joined #lisp 2020-01-20T09:56:36Z oxum quit (Remote host closed the connection) 2020-01-20T09:57:52Z space_otter quit (Remote host closed the connection) 2020-01-20T09:58:13Z oxum joined #lisp 2020-01-20T10:00:54Z Duuqnd: How do I make cffi-grovel work on Windows? 2020-01-20T10:01:12Z Duuqnd: It tells me that it can't find GCC, but when I manually tell it where GCC is, it breaks apart because it can't find "libffi.h". 2020-01-20T10:04:14Z galdor: I suspect you need https://github.com/libffi/libffi 2020-01-20T10:04:45Z galdor: I'm surprised cffi does not bundle it 2020-01-20T10:04:56Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-20T10:05:03Z galdor: (why does cffi need libffi since it uses implementation ffi layers ?) 2020-01-20T10:05:50Z Duuqnd: Well, the problem here is that I don't know where to put it where CFFI will find it. 2020-01-20T10:06:27Z Duuqnd: It doesn't find GCC to begin with, so I don't know what more problems will come from that. 2020-01-20T10:08:32Z shangul quit (Ping timeout: 258 seconds) 2020-01-20T10:08:40Z galdor: you need to find the full gcc command CFFI tries to execute 2020-01-20T10:08:56Z galdor: it's already a huge mess on Linux, I cannot imagine what it is on Windows 2020-01-20T10:09:18Z galdor: I tried to clean it up once, but it's virtually impossible to modify without breaking obscure platforms 2020-01-20T10:10:02Z Duuqnd: I tried to change the Windows PATH environment variable, but it still won't find it. 2020-01-20T10:10:38Z Duuqnd: Windows is really strange, I wonder how it's survived this long. 2020-01-20T10:10:45Z Nilby: If you're using sbcl I think you can just get a copy of the libffi dll and put it in the sbcl directory. 2020-01-20T10:10:47Z galdor: easy: it just works for most users 2020-01-20T10:11:14Z Duuqnd: Nilby: Thanks, I'll try that. 2020-01-20T10:11:33Z Nilby: But like the libffi dll from mingw not cygwin 2020-01-20T10:11:58Z Duuqnd: Yeah, I'm using MinGW. 2020-01-20T10:13:29Z Nilby: I usually have to run sbcl under cygwin to get it to grovel, and then you can run it not under cygwin. It's very annoying. 2020-01-20T10:14:48Z montaropdf quit (Ping timeout: 268 seconds) 2020-01-20T10:15:36Z Duuqnd: It might be easier to modify the library I'm using to not use libffi... 2020-01-20T10:16:01Z varjag joined #lisp 2020-01-20T10:18:24Z nmg quit (Remote host closed the connection) 2020-01-20T10:19:18Z Nilby: That is usually better, but not always possible, since the many things like Windows kernel has struct passing APIs. 2020-01-20T10:19:57Z Nilby: There was a discussion on here earlier today about fixing it. 2020-01-20T10:20:31Z Duuqnd: It looks like the library doesn't actually use libffi, it just adds it as a dependency and never touches it again. 2020-01-20T10:23:28Z vaporatorius__ joined #lisp 2020-01-20T10:23:49Z jonatack joined #lisp 2020-01-20T10:26:20Z vap1 quit (Ping timeout: 268 seconds) 2020-01-20T10:29:06Z oxum quit (Read error: Connection reset by peer) 2020-01-20T10:29:15Z oxum_ joined #lisp 2020-01-20T10:29:49Z Shinmera: libffi is needed if the C library takes or returns structures as values. 2020-01-20T10:30:07Z Shinmera: so there won't be any explicit mention of it in the code. 2020-01-20T10:30:39Z Khisanth quit (Ping timeout: 268 seconds) 2020-01-20T10:30:48Z Duuqnd: Yeah, I noticed that while trying to load it. Oops. Well, I'm gonna try to compile libffi with MinGW and see if that works. 2020-01-20T10:31:29Z Shinmera: https://www.bountysource.com/issues/75202399-wanted-by-value-structures-in-sb-alien 2020-01-20T10:33:01Z Nilby: It seems like you usually have to tell it where to find the C compiler, like: export CC=c:/cygwin64/bin/x86_64-w64-mingw32-gcc.exe or something. 2020-01-20T10:43:26Z Khisanth joined #lisp 2020-01-20T10:43:51Z grabarz joined #lisp 2020-01-20T10:43:56Z william1 joined #lisp 2020-01-20T10:45:45Z cmatei joined #lisp 2020-01-20T10:52:36Z EvW joined #lisp 2020-01-20T10:59:41Z shangul joined #lisp 2020-01-20T11:01:49Z v88m quit (Ping timeout: 258 seconds) 2020-01-20T11:04:04Z jfb4 joined #lisp 2020-01-20T11:05:33Z jfb4_ quit (Ping timeout: 272 seconds) 2020-01-20T11:07:59Z cosimone joined #lisp 2020-01-20T11:09:45Z vap1 joined #lisp 2020-01-20T11:11:18Z shangul quit (Ping timeout: 260 seconds) 2020-01-20T11:12:02Z vaporatorius__ quit (Ping timeout: 240 seconds) 2020-01-20T11:23:11Z oxum_ quit (Read error: Connection reset by peer) 2020-01-20T11:23:42Z oxum joined #lisp 2020-01-20T11:26:27Z jebes quit (Ping timeout: 272 seconds) 2020-01-20T11:32:44Z oxum quit (Remote host closed the connection) 2020-01-20T11:33:40Z oxum joined #lisp 2020-01-20T11:35:28Z tiwEllien joined #lisp 2020-01-20T11:37:01Z cosimone quit (Remote host closed the connection) 2020-01-20T11:40:29Z heisig joined #lisp 2020-01-20T11:54:00Z papachan joined #lisp 2020-01-20T11:54:12Z stepnem joined #lisp 2020-01-20T11:54:18Z gareppa joined #lisp 2020-01-20T11:55:06Z shifty joined #lisp 2020-01-20T11:55:35Z stepnem_ quit (Ping timeout: 272 seconds) 2020-01-20T11:58:40Z oxum quit (Remote host closed the connection) 2020-01-20T11:59:04Z dddddd joined #lisp 2020-01-20T12:00:13Z stepnem_ joined #lisp 2020-01-20T12:00:16Z Lord_of_Life_ joined #lisp 2020-01-20T12:00:18Z oxum joined #lisp 2020-01-20T12:00:18Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-20T12:01:14Z stepnem quit (Ping timeout: 258 seconds) 2020-01-20T12:01:37Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-20T12:01:47Z gareppa quit (Remote host closed the connection) 2020-01-20T12:07:46Z oxum quit (Remote host closed the connection) 2020-01-20T12:10:13Z stepnem joined #lisp 2020-01-20T12:11:58Z stepnem_ quit (Ping timeout: 258 seconds) 2020-01-20T12:23:43Z akoana left #lisp 2020-01-20T12:25:30Z EvW quit (Quit: EvW) 2020-01-20T12:25:47Z EvW1 joined #lisp 2020-01-20T12:25:58Z slyrus quit (Remote host closed the connection) 2020-01-20T12:26:17Z slyrus joined #lisp 2020-01-20T12:26:43Z avicenna quit (Read error: Connection reset by peer) 2020-01-20T12:26:56Z avicenna joined #lisp 2020-01-20T12:26:56Z parisienne_ quit (Ping timeout: 258 seconds) 2020-01-20T12:26:56Z gjnoonan quit (Ping timeout: 258 seconds) 2020-01-20T12:27:19Z jsatk quit (Ping timeout: 258 seconds) 2020-01-20T12:27:20Z grobe0ba quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-01-20T12:27:28Z mgsk quit (Read error: Connection reset by peer) 2020-01-20T12:27:30Z parisienne_ joined #lisp 2020-01-20T12:27:32Z grobe0ba_ joined #lisp 2020-01-20T12:27:37Z mgsk joined #lisp 2020-01-20T12:27:42Z mnmx joined #lisp 2020-01-20T12:27:44Z jsatk joined #lisp 2020-01-20T12:27:56Z grobe0ba_ is now known as grobe0ba 2020-01-20T12:28:00Z gjnoonan joined #lisp 2020-01-20T12:28:26Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-20T12:28:27Z rumpelszn quit (Ping timeout: 258 seconds) 2020-01-20T12:28:30Z xkapastel joined #lisp 2020-01-20T12:29:03Z gabiruh joined #lisp 2020-01-20T12:29:03Z keep_learning quit (Quit: Ping timeout (120 seconds)) 2020-01-20T12:29:20Z rumpelszn joined #lisp 2020-01-20T12:29:37Z lowryder quit (Ping timeout: 258 seconds) 2020-01-20T12:29:53Z oxum joined #lisp 2020-01-20T12:30:22Z klltkr joined #lisp 2020-01-20T12:30:45Z cg505 quit (Ping timeout: 258 seconds) 2020-01-20T12:32:12Z cg505 joined #lisp 2020-01-20T12:32:45Z lowryder joined #lisp 2020-01-20T12:33:14Z mnmx quit (Remote host closed the connection) 2020-01-20T12:33:38Z dddddd quit (Ping timeout: 240 seconds) 2020-01-20T12:34:05Z ebzzry joined #lisp 2020-01-20T12:35:12Z oxum quit (Remote host closed the connection) 2020-01-20T12:35:20Z gabiruh quit (Ping timeout: 252 seconds) 2020-01-20T12:39:03Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-20T12:44:04Z Necktwi_ joined #lisp 2020-01-20T12:44:19Z cosimone joined #lisp 2020-01-20T12:45:48Z oxum joined #lisp 2020-01-20T12:46:01Z gko_ joined #lisp 2020-01-20T12:46:09Z gabiruh joined #lisp 2020-01-20T12:46:46Z dddddd joined #lisp 2020-01-20T12:49:26Z william1 quit (Quit: WeeChat 1.9.1) 2020-01-20T12:49:46Z oxum quit (Remote host closed the connection) 2020-01-20T12:50:19Z jmercouris joined #lisp 2020-01-20T12:55:07Z shangul joined #lisp 2020-01-20T12:55:31Z oxum joined #lisp 2020-01-20T12:59:08Z oxum quit (Remote host closed the connection) 2020-01-20T12:59:42Z seok quit (Remote host closed the connection) 2020-01-20T13:00:20Z orivej quit (Ping timeout: 265 seconds) 2020-01-20T13:03:37Z asdf_asdf_asdf joined #lisp 2020-01-20T13:04:01Z amerlyq joined #lisp 2020-01-20T13:06:50Z jmercouris quit (Remote host closed the connection) 2020-01-20T13:07:06Z jmercouris joined #lisp 2020-01-20T13:09:14Z Nilby quit (Read error: Connection reset by peer) 2020-01-20T13:12:51Z random-nick joined #lisp 2020-01-20T13:15:33Z amerlyq quit (Ping timeout: 260 seconds) 2020-01-20T13:15:49Z samlamamma joined #lisp 2020-01-20T13:15:56Z amerlyq joined #lisp 2020-01-20T13:17:04Z samlamamma: I'm doing some work on WebAssembly. It's very frustrating to read non-lisper's WASM, they spread their right parens around like discarded toe nails 2020-01-20T13:25:43Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-20T13:25:58Z _jrjsmrtn joined #lisp 2020-01-20T13:26:13Z nika_ joined #lisp 2020-01-20T13:26:35Z __jrjsmrtn__ quit (Ping timeout: 268 seconds) 2020-01-20T13:29:27Z jonatack quit (Read error: Connection reset by peer) 2020-01-20T13:30:16Z lucasb joined #lisp 2020-01-20T13:31:38Z Odin-: "It's the same as block scoping, right?" 2020-01-20T13:31:50Z oldtopman quit (Remote host closed the connection) 2020-01-20T13:32:14Z Odin-: They need to get their act together on the GC and shared linking stuff. 2020-01-20T13:35:08Z jonatack joined #lisp 2020-01-20T13:44:16Z mercourisj joined #lisp 2020-01-20T13:45:05Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-20T13:45:32Z Duuqnd quit (Quit: Leaving) 2020-01-20T13:49:32Z oxum joined #lisp 2020-01-20T13:54:27Z oxum_ joined #lisp 2020-01-20T13:54:44Z oxum quit (Remote host closed the connection) 2020-01-20T13:54:46Z cosimone quit (Ping timeout: 268 seconds) 2020-01-20T13:58:37Z oxum_ quit (Remote host closed the connection) 2020-01-20T13:58:54Z oxum joined #lisp 2020-01-20T14:04:02Z harovali: beach: no-defun-allowed: thanks 2020-01-20T14:04:50Z harovali: i killed the buffer and restarted slime without creating another inferior lisp 2020-01-20T14:05:28Z orivej joined #lisp 2020-01-20T14:06:18Z amerlyq quit (Ping timeout: 260 seconds) 2020-01-20T14:06:20Z harovali: beach: sure, I'd like to use the best option in the context I am. But I ran (inspect ...) because it was a step in this clim tutorial https://kantz.com/clim-primer/application-frames.htm 2020-01-20T14:06:41Z amerlyq joined #lisp 2020-01-20T14:06:45Z mercourisj is now known as jmercouris 2020-01-20T14:07:39Z Bike joined #lisp 2020-01-20T14:08:22Z beach: I see. 2020-01-20T14:09:27Z beach: What I usually do when I write a CLIM application, I include a command that starts Clouseau on the frame or on a pane. 2020-01-20T14:11:46Z vaporatorius__ joined #lisp 2020-01-20T14:14:08Z p_l: Odin-: there's a significant benefit if one wants to implement GC themselves in that multivalue is getting actually implemented 2020-01-20T14:14:26Z vap1 quit (Ping timeout: 240 seconds) 2020-01-20T14:22:55Z Odin-: p_l: As I understand it, that's considered a base for the in-platform GC stuff. 2020-01-20T14:24:29Z p_l: it's one of the requirements 2020-01-20T14:24:38Z p_l: it's also a requirement for a bunch of other things 2020-01-20T14:25:00Z p_l: because it allows to write code that doesn't use `locals` 2020-01-20T14:37:48Z oxum_ joined #lisp 2020-01-20T14:39:25Z oxum quit (Ping timeout: 265 seconds) 2020-01-20T14:41:21Z harovali: beach: interesting , thanks 2020-01-20T14:42:02Z papachan quit (Ping timeout: 265 seconds) 2020-01-20T14:42:13Z FreeBirdLjj joined #lisp 2020-01-20T14:42:13Z refpga joined #lisp 2020-01-20T14:43:55Z pjb: minion: memo for emaczen: lisp itself is just an assembler. Just avoid the most sophisticated macros (or consider lisp as a macro assembler and use them!). See for example: https://groups.google.com/forum/#!msg/comp.lang.lisp/T3UZwLoN0lw/4r9q_8cwKoQJ THIS IS YOUR STABLE ASSEMBLER! 2020-01-20T14:43:55Z minion: Remembered. I'll tell emaczen when he/she/it next speaks. 2020-01-20T14:54:42Z papachan joined #lisp 2020-01-20T14:55:22Z samlamamma quit (Ping timeout: 265 seconds) 2020-01-20T14:55:35Z papachan quit (Client Quit) 2020-01-20T14:55:46Z papachan joined #lisp 2020-01-20T14:55:50Z heisig quit (Quit: Leaving) 2020-01-20T14:56:12Z mangul joined #lisp 2020-01-20T14:59:16Z shangul quit (Ping timeout: 248 seconds) 2020-01-20T15:00:48Z refpga quit (Read error: Connection reset by peer) 2020-01-20T15:06:09Z oxum_ quit (Remote host closed the connection) 2020-01-20T15:15:58Z mangul quit (Ping timeout: 258 seconds) 2020-01-20T15:16:43Z igemnace quit (Quit: WeeChat 2.7) 2020-01-20T15:22:57Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-20T15:23:03Z ebrasca joined #lisp 2020-01-20T15:24:05Z brown121408 quit (Read error: Connection reset by peer) 2020-01-20T15:24:14Z oxum joined #lisp 2020-01-20T15:24:27Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-20T15:24:45Z brown121407 joined #lisp 2020-01-20T15:29:00Z oxum quit (Ping timeout: 258 seconds) 2020-01-20T15:31:46Z jonatack quit (Ping timeout: 268 seconds) 2020-01-20T15:35:35Z oxum joined #lisp 2020-01-20T15:39:28Z oni-on-ion quit (Remote host closed the connection) 2020-01-20T15:39:51Z oni-on-ion joined #lisp 2020-01-20T15:40:31Z oxum quit (Ping timeout: 265 seconds) 2020-01-20T15:40:51Z tiwEllien joined #lisp 2020-01-20T15:41:38Z shifty quit (Ping timeout: 240 seconds) 2020-01-20T15:41:44Z yottabyte joined #lisp 2020-01-20T15:42:33Z yottabyte left #lisp 2020-01-20T15:43:56Z asdf_asdf_asdf joined #lisp 2020-01-20T15:44:21Z jack_rabbit joined #lisp 2020-01-20T15:46:51Z mangul joined #lisp 2020-01-20T15:48:03Z ebrasca quit (Remote host closed the connection) 2020-01-20T15:51:36Z oxum joined #lisp 2020-01-20T15:53:10Z dale_ joined #lisp 2020-01-20T15:53:33Z dale_ is now known as dale 2020-01-20T15:54:17Z v88m joined #lisp 2020-01-20T15:54:35Z Cymew quit (Ping timeout: 268 seconds) 2020-01-20T15:55:01Z papachan quit (Ping timeout: 265 seconds) 2020-01-20T15:55:54Z Odin- quit (Read error: Connection reset by peer) 2020-01-20T15:56:26Z oxum quit (Ping timeout: 268 seconds) 2020-01-20T15:58:03Z madage quit (Ping timeout: 240 seconds) 2020-01-20T15:58:36Z vap1 joined #lisp 2020-01-20T16:00:50Z vaporatorius__ quit (Ping timeout: 240 seconds) 2020-01-20T16:01:18Z jack_rabbit quit (Ping timeout: 265 seconds) 2020-01-20T16:02:13Z EvW joined #lisp 2020-01-20T16:03:18Z madage joined #lisp 2020-01-20T16:04:37Z amerlyq quit (Quit: amerlyq) 2020-01-20T16:10:09Z varjagg joined #lisp 2020-01-20T16:10:11Z amerlyq joined #lisp 2020-01-20T16:11:17Z varjag quit (Remote host closed the connection) 2020-01-20T16:11:28Z varjagg is now known as varjag 2020-01-20T16:11:55Z pfdietz joined #lisp 2020-01-20T16:13:29Z cosimone joined #lisp 2020-01-20T16:13:51Z statusf90 joined #lisp 2020-01-20T16:16:34Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-20T16:17:09Z FreeBirdLjj joined #lisp 2020-01-20T16:18:13Z efm quit (Read error: Connection reset by peer) 2020-01-20T16:18:44Z efm joined #lisp 2020-01-20T16:21:38Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-20T16:22:51Z pnp joined #lisp 2020-01-20T16:22:59Z oxum joined #lisp 2020-01-20T16:23:14Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-20T16:30:54Z scymtym joined #lisp 2020-01-20T16:33:26Z pnp: is there any way to interrupt a running process in the slime-repl? I have that process that is not terminating and i would like to kill it (stop the running operation) it from Emacs... 2020-01-20T16:33:54Z beach: C-c C-c should work. 2020-01-20T16:42:40Z mingus quit (Ping timeout: 265 seconds) 2020-01-20T16:42:45Z pfdietz: I had some trouble with that running sbcl from slime under WSL. 2020-01-20T16:43:47Z slyrus_ joined #lisp 2020-01-20T16:46:14Z pnp quit (Remote host closed the connection) 2020-01-20T16:46:17Z slyrus quit (Ping timeout: 272 seconds) 2020-01-20T16:46:54Z cosimone quit (Quit: Terminated!) 2020-01-20T16:47:23Z slyrus__ joined #lisp 2020-01-20T16:47:35Z smazga joined #lisp 2020-01-20T16:47:43Z asarch joined #lisp 2020-01-20T16:49:43Z jonatack joined #lisp 2020-01-20T16:50:07Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-20T16:53:26Z cosimone joined #lisp 2020-01-20T16:57:56Z oxum quit (Ping timeout: 258 seconds) 2020-01-20T17:00:53Z gioyik joined #lisp 2020-01-20T17:00:57Z oxum joined #lisp 2020-01-20T17:04:37Z gko_ quit (Ping timeout: 265 seconds) 2020-01-20T17:04:54Z Necktwi_ quit (Ping timeout: 265 seconds) 2020-01-20T17:08:03Z gxt quit (Ping timeout: 240 seconds) 2020-01-20T17:09:23Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-20T17:09:38Z oxum quit (Ping timeout: 240 seconds) 2020-01-20T17:09:48Z slyrus_ joined #lisp 2020-01-20T17:11:10Z oxum joined #lisp 2020-01-20T17:12:19Z amerlyq quit (Quit: amerlyq) 2020-01-20T17:12:30Z slyrus__ quit (Ping timeout: 258 seconds) 2020-01-20T17:12:31Z mn3m joined #lisp 2020-01-20T17:12:49Z amerlyq joined #lisp 2020-01-20T17:13:12Z flamebeard quit 2020-01-20T17:15:38Z davepdotorg quit (Remote host closed the connection) 2020-01-20T17:17:47Z ym joined #lisp 2020-01-20T17:21:08Z oxum quit (Ping timeout: 260 seconds) 2020-01-20T17:22:09Z karlosz joined #lisp 2020-01-20T17:24:18Z oxum joined #lisp 2020-01-20T17:29:09Z varjag joined #lisp 2020-01-20T17:31:11Z jellopudding quit (Remote host closed the connection) 2020-01-20T17:31:41Z jellopudding joined #lisp 2020-01-20T17:32:22Z karlosz quit (Quit: karlosz) 2020-01-20T17:35:56Z cosimone_ joined #lisp 2020-01-20T17:36:04Z cosimone quit (Ping timeout: 248 seconds) 2020-01-20T17:36:46Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-20T17:39:16Z cosimone_ quit (Client Quit) 2020-01-20T17:40:48Z hhdave quit (Quit: hhdave) 2020-01-20T17:42:50Z slyrus__ joined #lisp 2020-01-20T17:45:38Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-20T17:51:12Z Josh_2 joined #lisp 2020-01-20T17:52:44Z jmercouris: pfdietz: OK 2020-01-20T17:53:00Z jmercouris: pfdietz: does it work? 2020-01-20T17:53:36Z papachan joined #lisp 2020-01-20T17:53:47Z jackdaniel: there is a certain medium value of "work" for which it does! 2020-01-20T17:54:12Z jmercouris: well well well! perhaps a windows port will never be necessary! 2020-01-20T17:54:51Z jackdaniel: you talk as if sbcl were not ported to windows already 2020-01-20T17:55:11Z jmercouris: I thought windows support was poor 2020-01-20T17:55:13Z pfdietz: It works well enough. If I really need to interrupt it I go to the Ubuntu window and kill -SIGSEGV its pid. 2020-01-20T18:03:07Z grabarz quit (Quit: Textual IRC Client: www.textualapp.com) 2020-01-20T18:11:17Z Caractacus joined #lisp 2020-01-20T18:11:36Z p_l quit (Ping timeout: 265 seconds) 2020-01-20T18:12:08Z p_l joined #lisp 2020-01-20T18:14:18Z Caractacus quit 2020-01-20T18:15:12Z philhunt joined #lisp 2020-01-20T18:16:21Z philhunt left #lisp 2020-01-20T18:18:26Z orivej quit (Ping timeout: 258 seconds) 2020-01-20T18:18:43Z Krystof joined #lisp 2020-01-20T18:20:09Z Caractacus joined #lisp 2020-01-20T18:20:51Z vap1 quit (Read error: Connection reset by peer) 2020-01-20T18:21:10Z vap1 joined #lisp 2020-01-20T18:21:12Z Caractacus quit (Client Quit) 2020-01-20T18:22:42Z bendersteed joined #lisp 2020-01-20T18:26:00Z vibs29 joined #lisp 2020-01-20T18:28:47Z clothespin joined #lisp 2020-01-20T18:34:47Z harovali1 joined #lisp 2020-01-20T18:34:55Z harovali quit (Ping timeout: 268 seconds) 2020-01-20T18:42:58Z mangul quit (Ping timeout: 258 seconds) 2020-01-20T18:43:59Z Lord_of_Life quit (Excess Flood) 2020-01-20T18:44:09Z ebrasca joined #lisp 2020-01-20T18:45:26Z Lord_of_Life joined #lisp 2020-01-20T18:48:39Z sjl: TIL that while (round) is required to round half to even, format's ~,VF directive is allowed to use half-to-whatever-it-wants. 2020-01-20T18:50:23Z harovali1 quit (Ping timeout: 260 seconds) 2020-01-20T18:50:58Z mn3m quit (Remote host closed the connection) 2020-01-20T18:51:55Z sjl: $ ccl --eval '(format t "~,3F" 0.5625d0)' --eval '(quit)' # => 0.562 2020-01-20T18:51:57Z sjl: $ sbcl --eval '(format t "~,3F" 0.5625d0)' --eval '(quit)' # => 0.563 2020-01-20T18:52:16Z jellopudding quit (Remote host closed the connection) 2020-01-20T18:54:25Z jello_pudding joined #lisp 2020-01-20T18:56:19Z efm quit (Ping timeout: 268 seconds) 2020-01-20T18:58:01Z nowhere_man quit (Ping timeout: 272 seconds) 2020-01-20T18:58:16Z efm joined #lisp 2020-01-20T18:59:00Z jellopudding joined #lisp 2020-01-20T18:59:34Z znebula joined #lisp 2020-01-20T19:00:36Z brown121407 quit (Ping timeout: 258 seconds) 2020-01-20T19:00:37Z jello_pudding quit (Ping timeout: 260 seconds) 2020-01-20T19:00:57Z jmercouris quit (Remote host closed the connection) 2020-01-20T19:01:09Z brown121407 joined #lisp 2020-01-20T19:02:32Z rippa joined #lisp 2020-01-20T19:03:32Z jellopudding quit (Ping timeout: 260 seconds) 2020-01-20T19:03:40Z galdor: "When rounding up and rounding down would produce printed values equidistant from the scaled value of arg, then the implementation is free to use either one." 2020-01-20T19:03:53Z galdor: at least it's clearly specified :) 2020-01-20T19:04:22Z jello_pudding joined #lisp 2020-01-20T19:06:52Z jello_pudding quit (Read error: Connection reset by peer) 2020-01-20T19:07:07Z Bike: i'm more surprised that ccl and sbcl actually give different results 2020-01-20T19:07:08Z jello_pudding joined #lisp 2020-01-20T19:07:13Z Bike: different float printing algorithms, i guess? 2020-01-20T19:10:30Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-20T19:11:40Z sjl: Must be 2020-01-20T19:12:02Z Odin- joined #lisp 2020-01-20T19:12:14Z nowhere_man joined #lisp 2020-01-20T19:12:17Z jello_pudding quit (Ping timeout: 260 seconds) 2020-01-20T19:14:02Z brown121407 quit (Read error: Connection reset by peer) 2020-01-20T19:14:39Z ggole quit (Quit: Leaving) 2020-01-20T19:14:58Z brown121407 joined #lisp 2020-01-20T19:21:18Z smazga quit (Ping timeout: 260 seconds) 2020-01-20T19:26:02Z jmercouris joined #lisp 2020-01-20T19:27:19Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-20T19:27:47Z sauvin quit (Ping timeout: 272 seconds) 2020-01-20T19:30:44Z scymtym quit (Ping timeout: 248 seconds) 2020-01-20T19:46:42Z clothespin quit (Ping timeout: 260 seconds) 2020-01-20T19:47:49Z brown121407 quit (Read error: Connection reset by peer) 2020-01-20T19:48:23Z brown121407 joined #lisp 2020-01-20T19:49:51Z nika_ quit 2020-01-20T19:51:41Z asdf_asdf_asdf joined #lisp 2020-01-20T19:51:51Z gabiruh quit (Ping timeout: 246 seconds) 2020-01-20T19:54:10Z visage_ joined #lisp 2020-01-20T19:54:55Z karlosz joined #lisp 2020-01-20T19:55:14Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-20T19:55:15Z karlosz quit (Remote host closed the connection) 2020-01-20T19:55:29Z karlosz joined #lisp 2020-01-20T19:58:36Z phoe: yes 2020-01-20T19:58:38Z phoe: very different 2020-01-20T19:58:56Z phoe: they both kinda-descent-from-the-same-FORMAT-ancestor, but the codes have diverged 2020-01-20T20:06:51Z ralt quit (Quit: Connection closed for inactivity) 2020-01-20T20:07:16Z clothespin joined #lisp 2020-01-20T20:08:34Z gabiruh joined #lisp 2020-01-20T20:13:06Z bitmapper joined #lisp 2020-01-20T20:14:28Z vibs29 left #lisp 2020-01-20T20:23:13Z ted_wroclaw joined #lisp 2020-01-20T20:23:39Z jmercouris quit (Remote host closed the connection) 2020-01-20T20:25:28Z scymtym joined #lisp 2020-01-20T20:26:35Z karlosz quit (Quit: karlosz) 2020-01-20T20:34:06Z tiwEllien joined #lisp 2020-01-20T20:34:48Z narimiran quit (Ping timeout: 260 seconds) 2020-01-20T20:37:17Z ted_wroclaw quit (Ping timeout: 265 seconds) 2020-01-20T20:40:10Z slyrus joined #lisp 2020-01-20T20:41:08Z adolby quit (Remote host closed the connection) 2020-01-20T20:42:27Z adolby joined #lisp 2020-01-20T20:42:36Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-20T20:49:18Z harovali joined #lisp 2020-01-20T20:50:19Z harovali1 joined #lisp 2020-01-20T20:50:54Z aindilis quit (Remote host closed the connection) 2020-01-20T20:52:59Z aindilis joined #lisp 2020-01-20T20:53:49Z developernotes joined #lisp 2020-01-20T20:54:03Z harovali quit (Ping timeout: 260 seconds) 2020-01-20T20:54:09Z developernotes quit (Client Quit) 2020-01-20T20:54:30Z Codaraxis joined #lisp 2020-01-20T20:59:22Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-20T21:00:42Z amerlyq quit (Quit: amerlyq) 2020-01-20T21:06:48Z ozzloy joined #lisp 2020-01-20T21:06:48Z ozzloy quit (Changing host) 2020-01-20T21:06:48Z ozzloy joined #lisp 2020-01-20T21:14:03Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-20T21:17:25Z smazga joined #lisp 2020-01-20T21:18:06Z Shinmera: https://plaster.tymoon.eu/view/1651#1651 2020-01-20T21:19:56Z cosimone joined #lisp 2020-01-20T21:22:14Z smazga quit (Ping timeout: 265 seconds) 2020-01-20T21:22:48Z nowhereman_ joined #lisp 2020-01-20T21:23:41Z nowhere_man quit (Ping timeout: 272 seconds) 2020-01-20T21:32:18Z ArthurStrong quit (Quit: leaving) 2020-01-20T21:32:20Z emacsomancer quit (Ping timeout: 248 seconds) 2020-01-20T21:38:14Z orivej joined #lisp 2020-01-20T21:38:43Z emacsomancer joined #lisp 2020-01-20T21:40:21Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-20T21:40:27Z clothespin quit (Ping timeout: 260 seconds) 2020-01-20T21:48:27Z pjb: sjl: https://termbin.com/z3fb some use banker's rounding, some don't. See which one you want to avoid rounding hacking… 2020-01-20T21:50:47Z pjb: Again, ccl and clisp are the best… 2020-01-20T21:56:48Z asarch quit (Quit: Leaving) 2020-01-20T21:57:48Z harovali1 quit (Quit: Leaving.) 2020-01-20T22:01:03Z gioyik quit (Read error: Connection reset by peer) 2020-01-20T22:02:04Z gioyik joined #lisp 2020-01-20T22:08:01Z quazimodo quit (Ping timeout: 272 seconds) 2020-01-20T22:08:30Z quazimodo joined #lisp 2020-01-20T22:09:24Z brown121407 joined #lisp 2020-01-20T22:10:08Z emys joined #lisp 2020-01-20T22:12:52Z EvW quit (Ping timeout: 248 seconds) 2020-01-20T22:13:02Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-20T22:13:40Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-20T22:16:22Z slyrus_ joined #lisp 2020-01-20T22:19:13Z slyrus quit (Ping timeout: 260 seconds) 2020-01-20T22:20:09Z shifty joined #lisp 2020-01-20T22:20:44Z Codaraxis joined #lisp 2020-01-20T22:22:26Z emys quit (Ping timeout: 240 seconds) 2020-01-20T22:24:05Z EvW1 joined #lisp 2020-01-20T22:25:48Z emys joined #lisp 2020-01-20T22:28:27Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-20T22:28:54Z jackdaniel: is there a good reason /not/ to use stream-file-position from gray streams for gray streams which are not files? 2020-01-20T22:29:13Z jackdaniel: unfortunately there is no stream-position in gray protocol afaik (however clisp defines it in gray package) 2020-01-20T22:29:30Z jackdaniel: by using I mean: implement 2020-01-20T22:31:58Z no-defun-allowed: The first thing that comes into mind is a stream that puts out random values. 2020-01-20T22:32:27Z jackdaniel: I don't understand, could you elaborate please? 2020-01-20T22:34:14Z no-defun-allowed: It's silly, but one could implement a stream where stream-read-byte returns (random 256), and a position might not be meaningful there; but you could just count the bytes read and use that as a "position" 2020-01-20T22:35:22Z jackdaniel: my use is a little more specific. in clim there are standard-extended-input-stream's -- stream-read-gesture moves the position forward, so a next character from the input buffer will be read 2020-01-20T22:35:45Z jackdaniel: that seems like a perfect case for stream-position (which doesn't exist) 2020-01-20T22:36:30Z jackdaniel: I can create my own function, that is not a problem, I was just wondering if using stream-file-position has some hidden gotchas I'm not aware of 2020-01-20T22:36:48Z stepnem quit (Read error: Connection reset by peer) 2020-01-20T22:38:37Z stepnem joined #lisp 2020-01-20T22:39:41Z emys quit (Ping timeout: 272 seconds) 2020-01-20T22:41:12Z vms14 joined #lisp 2020-01-20T22:42:15Z Shinmera: jackdaniel: I suppose the expectation might be there that you can change the position to seek, too 2020-01-20T22:42:29Z Shinmera: which typically does not apply 2020-01-20T22:45:56Z gabiruh quit (Ping timeout: 248 seconds) 2020-01-20T22:46:03Z jackdaniel: no-defun-allowed: Shinmera: thank you for your remarks, both points are interesting. 2020-01-20T22:46:15Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-20T22:46:27Z emys joined #lisp 2020-01-20T22:47:23Z madage quit (Ping timeout: 240 seconds) 2020-01-20T22:50:05Z madage joined #lisp 2020-01-20T22:55:09Z emys quit (Ping timeout: 268 seconds) 2020-01-20T22:56:21Z nowhereman_ quit (Ping timeout: 258 seconds) 2020-01-20T22:57:47Z Bike quit (Quit: Bike) 2020-01-20T22:59:28Z papachan quit (Ping timeout: 268 seconds) 2020-01-20T23:01:51Z emys joined #lisp 2020-01-20T23:04:01Z random-nick quit (Ping timeout: 258 seconds) 2020-01-20T23:07:17Z statusf90 quit (Quit: statusf90) 2020-01-20T23:09:51Z statusf90 joined #lisp 2020-01-20T23:10:14Z bitmapper quit (Remote host closed the connection) 2020-01-20T23:11:21Z emys quit (Ping timeout: 272 seconds) 2020-01-20T23:11:27Z bitmapper joined #lisp 2020-01-20T23:15:54Z bitmapper quit (Ping timeout: 258 seconds) 2020-01-20T23:17:06Z bitmapper joined #lisp 2020-01-20T23:17:41Z smazga joined #lisp 2020-01-20T23:17:56Z emys joined #lisp 2020-01-20T23:18:33Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-20T23:19:20Z ebrasca quit (Remote host closed the connection) 2020-01-20T23:21:22Z harovali joined #lisp 2020-01-20T23:22:39Z harovali1 joined #lisp 2020-01-20T23:22:43Z smazga quit (Ping timeout: 268 seconds) 2020-01-20T23:25:58Z harovali quit (Ping timeout: 265 seconds) 2020-01-20T23:26:37Z emys quit (Ping timeout: 260 seconds) 2020-01-20T23:28:30Z quazimodo joined #lisp 2020-01-20T23:29:30Z wxie joined #lisp 2020-01-20T23:40:27Z Bike joined #lisp 2020-01-20T23:41:36Z vms14 quit (Remote host closed the connection) 2020-01-20T23:41:54Z sjl joined #lisp 2020-01-20T23:48:12Z gabiruh joined #lisp 2020-01-20T23:52:17Z wxie quit (Ping timeout: 260 seconds) 2020-01-20T23:53:10Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-20T23:55:08Z malfort_ joined #lisp 2020-01-20T23:55:20Z malfort quit (Read error: Connection reset by peer) 2020-01-20T23:59:44Z rwcom2 joined #lisp 2020-01-20T23:59:52Z Lord_of_Life_ joined #lisp 2020-01-21T00:01:18Z rwcom quit (Ping timeout: 260 seconds) 2020-01-21T00:01:18Z rwcom2 is now known as rwcom 2020-01-21T00:03:11Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-21T00:03:14Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-21T00:03:32Z Codaraxis joined #lisp 2020-01-21T00:04:32Z cosimone quit (Ping timeout: 260 seconds) 2020-01-21T00:06:52Z EvW1 quit (Ping timeout: 252 seconds) 2020-01-21T00:13:50Z XenophonF joined #lisp 2020-01-21T00:14:31Z harovali1 quit (Ping timeout: 268 seconds) 2020-01-21T00:15:37Z DGASAU quit (Read error: Connection reset by peer) 2020-01-21T00:15:53Z DGASAU joined #lisp 2020-01-21T00:18:48Z kark quit (Ping timeout: 260 seconds) 2020-01-21T00:21:00Z kark joined #lisp 2020-01-21T00:26:34Z xkapastel joined #lisp 2020-01-21T00:29:18Z v0|d quit (Ping timeout: 260 seconds) 2020-01-21T00:36:35Z bitmapper quit 2020-01-21T00:39:42Z rumbler31 joined #lisp 2020-01-21T00:40:18Z torbo joined #lisp 2020-01-21T00:50:27Z _whitelogger quit (Remote host closed the connection) 2020-01-21T00:51:38Z XenophonF quit (Quit: leaving) 2020-01-21T00:52:41Z _whitelogger joined #lisp 2020-01-21T00:53:57Z turona quit (Ping timeout: 272 seconds) 2020-01-21T00:54:07Z turona joined #lisp 2020-01-21T00:54:11Z gioyik quit (Quit: WeeChat 2.7) 2020-01-21T01:01:31Z igemnace joined #lisp 2020-01-21T01:03:42Z notzmv quit (Remote host closed the connection) 2020-01-21T01:06:19Z ravndal quit (Ping timeout: 268 seconds) 2020-01-21T01:07:27Z efm quit (Ping timeout: 258 seconds) 2020-01-21T01:09:45Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-21T01:12:12Z efm joined #lisp 2020-01-21T01:16:35Z igemnace quit (Quit: WeeChat 2.7) 2020-01-21T01:17:58Z smazga joined #lisp 2020-01-21T01:20:29Z harovali joined #lisp 2020-01-21T01:22:02Z smazga quit (Ping timeout: 240 seconds) 2020-01-21T01:27:03Z efm quit (Ping timeout: 260 seconds) 2020-01-21T01:40:47Z igemnace joined #lisp 2020-01-21T01:56:25Z |Pirx| joined #lisp 2020-01-21T01:56:25Z |Pirx|: hi 2020-01-21T01:56:41Z _whitelogger quit (Remote host closed the connection) 2020-01-21T01:56:41Z _whitelogger joined #lisp 2020-01-21T01:57:30Z Josh_2: hi 2020-01-21T02:00:18Z slyrus__ joined #lisp 2020-01-21T02:00:26Z notzmv joined #lisp 2020-01-21T02:03:37Z slyrus_ quit (Ping timeout: 272 seconds) 2020-01-21T02:07:13Z statusf90 quit (Quit: statusf90) 2020-01-21T02:17:14Z Codaraxis quit (Ping timeout: 240 seconds) 2020-01-21T02:22:42Z dale quit (Quit: My computer has gone to sleep) 2020-01-21T02:23:15Z quazimodo joined #lisp 2020-01-21T02:26:03Z ebzzry quit (Read error: Connection reset by peer) 2020-01-21T02:26:48Z ebzzry joined #lisp 2020-01-21T02:31:25Z shifty quit (Ping timeout: 268 seconds) 2020-01-21T02:38:13Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-21T02:44:04Z vaporatorius__ joined #lisp 2020-01-21T02:44:51Z dale joined #lisp 2020-01-21T02:47:27Z vap1 quit (Ping timeout: 268 seconds) 2020-01-21T02:47:28Z slyrus joined #lisp 2020-01-21T02:48:28Z klltkr joined #lisp 2020-01-21T02:50:01Z ahungry joined #lisp 2020-01-21T02:51:20Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-21T02:54:07Z Nilby joined #lisp 2020-01-21T02:54:28Z ravndal joined #lisp 2020-01-21T02:55:03Z chocimir joined #lisp 2020-01-21T02:56:05Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-21T03:09:42Z oxum_ joined #lisp 2020-01-21T03:10:57Z oxum quit (Read error: Connection reset by peer) 2020-01-21T03:16:27Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-21T03:18:15Z smazga joined #lisp 2020-01-21T03:18:53Z ebrasca joined #lisp 2020-01-21T03:22:47Z smazga quit (Ping timeout: 272 seconds) 2020-01-21T03:23:13Z dddddd quit (Remote host closed the connection) 2020-01-21T03:26:21Z oni-on-ion quit (Read error: Connection reset by peer) 2020-01-21T03:35:49Z space_otter joined #lisp 2020-01-21T03:39:21Z slyrus_ joined #lisp 2020-01-21T03:42:02Z slyrus quit (Ping timeout: 240 seconds) 2020-01-21T03:43:01Z slyrus joined #lisp 2020-01-21T03:45:25Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-21T03:52:44Z Codaraxis joined #lisp 2020-01-21T03:54:14Z sauvin joined #lisp 2020-01-21T03:57:56Z shifty joined #lisp 2020-01-21T04:00:17Z clothespin joined #lisp 2020-01-21T04:01:29Z Necktwi quit (Ping timeout: 258 seconds) 2020-01-21T04:02:57Z torbo quit (Remote host closed the connection) 2020-01-21T04:07:00Z Picantest quit (Ping timeout: 268 seconds) 2020-01-21T04:13:17Z Necktwi joined #lisp 2020-01-21T04:25:23Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-01-21T04:25:45Z Honeycombb joined #lisp 2020-01-21T04:25:57Z rwcom joined #lisp 2020-01-21T04:27:34Z froggey quit (Ping timeout: 265 seconds) 2020-01-21T04:29:21Z froggey joined #lisp 2020-01-21T04:33:03Z _whitelogger quit (Remote host closed the connection) 2020-01-21T04:35:12Z zmt00 quit (Ping timeout: 260 seconds) 2020-01-21T04:35:16Z _whitelogger joined #lisp 2020-01-21T04:38:40Z zmt00 joined #lisp 2020-01-21T04:40:22Z malfort_ quit (Quit: Leaving) 2020-01-21T04:40:47Z Picantest joined #lisp 2020-01-21T04:41:08Z malfort joined #lisp 2020-01-21T04:46:40Z Picantest quit (Read error: Connection reset by peer) 2020-01-21T04:48:03Z Picantest joined #lisp 2020-01-21T04:57:00Z zaquest quit (Quit: Leaving) 2020-01-21T04:57:30Z gravicappa joined #lisp 2020-01-21T04:58:47Z beach: Good morning everyone! 2020-01-21T05:00:19Z chocimir quit (Ping timeout: 272 seconds) 2020-01-21T05:01:47Z chocimir joined #lisp 2020-01-21T05:03:55Z shifty quit (Ping timeout: 268 seconds) 2020-01-21T05:12:29Z zdm joined #lisp 2020-01-21T05:12:30Z Honeycombb quit (Read error: Connection reset by peer) 2020-01-21T05:15:04Z Josh_2: Hey beach 2020-01-21T05:15:38Z karlosz joined #lisp 2020-01-21T05:15:49Z X-Scale` joined #lisp 2020-01-21T05:16:47Z X-Scale quit (Ping timeout: 272 seconds) 2020-01-21T05:16:57Z X-Scale` is now known as X-Scale 2020-01-21T05:18:24Z smazga joined #lisp 2020-01-21T05:18:47Z Josh_2: Is it possible for me to modify the default behaviour of the automatically generated accessor functions that are created when I define a new class? 2020-01-21T05:19:51Z beach: Sure, they are just methods on generic functions. You can add auxiliary methods, or you can redefine the primary method. 2020-01-21T05:20:41Z beach: ... unless you mean that you want DEFCLASS to generate accessors that behave differently. That might be more complicated. 2020-01-21T05:23:07Z smazga quit (Ping timeout: 272 seconds) 2020-01-21T05:23:40Z Josh_2: hmm, well my problem is that I have lots of different classes where the type is either a keyword or a byte array, however when it comes to actually using instances of those classes I have to manually convert from a byte array to a string, and I was wondering if I could just get the accessor functions to call the converting code for me 2020-01-21T05:23:53Z Josh_2: the type of the slots are either a* 2020-01-21T05:25:06Z narimiran joined #lisp 2020-01-21T05:25:23Z beach: Sure, just define a :BEFORE method on the accessor. 2020-01-21T05:26:00Z Josh_2: but that way I have to go through all the accessors and define the :before method 2020-01-21T05:26:18Z Josh_2: I also completely forgot that these were normal generic functions... 2020-01-21T05:26:33Z beach: That's what I meant by my second utterance "... unless you mean..." 2020-01-21T05:26:41Z Josh_2: yes 2020-01-21T05:27:29Z beach: The easiest way would be to define a wrapper macro for DEFCLASS. The right (but more complicated) way would probably be to use the MOP in some creative way. 2020-01-21T05:27:51Z pjb: clim does just that. It defines its own defclass, so it can generate the accessors (and other things) as it wishes. 2020-01-21T05:27:56Z pjb: You can do the same. 2020-01-21T05:28:41Z Josh_2: how would I go about doing that? 2020-01-21T05:28:43Z pjb: or :around, if you want to convert from byte vectors to strings. 2020-01-21T05:29:49Z Bike: probably define a custom class of standard-reader-method that does your conversion and then specialize reader-method-class to return it 2020-01-21T05:29:51Z pjb: https://termbin.com/as8x 2020-01-21T05:29:53Z Bike quit (Quit: leaving) 2020-01-21T05:33:04Z pjb: https://termbin.com/7bkh 2020-01-21T05:34:28Z pjb: Josh_2: (defpackage "YOUR-LISP" (:use "CL") (:shadow "DEFCLASS") (:export . #.(the same symbols as CL))) (defmacro your-lisp:defclass …) 2020-01-21T05:34:42Z pjb: Josh_2: then in your progran (:use "YOUR-LISP") instead of (:use "CL). 2020-01-21T05:36:26Z orivej quit (Ping timeout: 240 seconds) 2020-01-21T05:37:49Z X-Scale` joined #lisp 2020-01-21T05:39:14Z X-Scale quit (Ping timeout: 258 seconds) 2020-01-21T05:39:15Z X-Scale` is now known as X-Scale 2020-01-21T05:40:43Z oldtopman joined #lisp 2020-01-21T05:40:44Z oldtopman quit (Changing host) 2020-01-21T05:40:44Z oldtopman joined #lisp 2020-01-21T05:43:02Z oldtopman quit (Remote host closed the connection) 2020-01-21T05:43:22Z oldtopman joined #lisp 2020-01-21T05:56:03Z brown121407 quit (Ping timeout: 272 seconds) 2020-01-21T05:56:28Z brown121407 joined #lisp 2020-01-21T06:02:17Z oxum_ quit (Remote host closed the connection) 2020-01-21T06:09:01Z ggole joined #lisp 2020-01-21T06:14:00Z ebrasca: Morning beach! 2020-01-21T06:16:08Z oxum joined #lisp 2020-01-21T06:16:25Z ebrasca quit (Remote host closed the connection) 2020-01-21T06:17:46Z chocimir quit (Ping timeout: 265 seconds) 2020-01-21T06:20:40Z oxum quit (Ping timeout: 265 seconds) 2020-01-21T06:21:36Z oxum joined #lisp 2020-01-21T06:25:27Z mangul joined #lisp 2020-01-21T06:26:22Z oxum quit (Ping timeout: 268 seconds) 2020-01-21T06:32:31Z zaquest joined #lisp 2020-01-21T06:35:47Z harovali1 joined #lisp 2020-01-21T06:36:44Z harovali quit (Ping timeout: 258 seconds) 2020-01-21T06:37:24Z oxum joined #lisp 2020-01-21T06:40:02Z Codaraxis_ joined #lisp 2020-01-21T06:42:06Z oxum quit (Ping timeout: 258 seconds) 2020-01-21T06:43:12Z Codaraxis quit (Ping timeout: 268 seconds) 2020-01-21T06:43:44Z space_otter quit (Remote host closed the connection) 2020-01-21T06:47:44Z Necktwi quit (Ping timeout: 265 seconds) 2020-01-21T06:50:55Z chocimir joined #lisp 2020-01-21T06:52:49Z zdm quit (Quit: WeeChat 2.7) 2020-01-21T07:00:44Z ahungry quit (Remote host closed the connection) 2020-01-21T07:05:20Z jello_pudding joined #lisp 2020-01-21T07:08:23Z jello_pudding quit (Client Quit) 2020-01-21T07:09:31Z smazga joined #lisp 2020-01-21T07:11:14Z chocimir quit (Ping timeout: 258 seconds) 2020-01-21T07:13:16Z jello_pudding joined #lisp 2020-01-21T07:13:17Z vlatkoB joined #lisp 2020-01-21T07:14:02Z smazga quit (Ping timeout: 268 seconds) 2020-01-21T07:16:33Z dale quit (Quit: My computer has gone to sleep) 2020-01-21T07:18:21Z smazga joined #lisp 2020-01-21T07:21:17Z Posterdati quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-01-21T07:21:50Z chocimir joined #lisp 2020-01-21T07:22:44Z smazga quit (Ping timeout: 258 seconds) 2020-01-21T07:29:36Z oxum joined #lisp 2020-01-21T07:31:32Z shifty joined #lisp 2020-01-21T07:36:07Z chocimir quit (Ping timeout: 272 seconds) 2020-01-21T07:39:13Z karlosz quit (Quit: karlosz) 2020-01-21T07:39:38Z Josh_2: This MOP stuff is pretty confusing 2020-01-21T07:40:06Z varjag joined #lisp 2020-01-21T07:40:12Z jprajzne joined #lisp 2020-01-21T07:44:50Z shifty quit (Ping timeout: 240 seconds) 2020-01-21T07:45:21Z flamebeard joined #lisp 2020-01-21T07:45:25Z emaczen joined #lisp 2020-01-21T07:50:20Z gxt joined #lisp 2020-01-21T07:50:46Z gxt quit (Remote host closed the connection) 2020-01-21T07:51:03Z emaczen quit (Ping timeout: 265 seconds) 2020-01-21T07:52:44Z beach: Josh_2: It can be, yes. 2020-01-21T07:53:23Z beach: It took me three attempts to get through the book. 2020-01-21T07:53:34Z gxt joined #lisp 2020-01-21T07:54:01Z pjb: It's much simplier to define your own defclass macro. 2020-01-21T07:54:37Z pjb: Also, instead of naming it your-lisp:defclass, you can name it your-program:define-slot-converting-class or something. 2020-01-21T07:54:53Z ebzzry joined #lisp 2020-01-21T08:01:59Z chocimir joined #lisp 2020-01-21T08:02:53Z jellopudding joined #lisp 2020-01-21T08:03:28Z jellopudding quit (Remote host closed the connection) 2020-01-21T08:04:37Z jello_pudding quit (Ping timeout: 260 seconds) 2020-01-21T08:07:25Z Cymew joined #lisp 2020-01-21T08:13:20Z femi quit (Ping timeout: 258 seconds) 2020-01-21T08:13:29Z chocimir quit (Ping timeout: 272 seconds) 2020-01-21T08:17:09Z seok joined #lisp 2020-01-21T08:17:17Z seok: Morning 2020-01-21T08:17:29Z seok: does anyone have experience with tinkerpop/gremlin? 2020-01-21T08:27:02Z chocimir joined #lisp 2020-01-21T08:27:52Z beach: Hello seok. 2020-01-21T08:27:59Z seok: hello beach 2020-01-21T08:28:27Z ealfonso joined #lisp 2020-01-21T08:29:00Z femi joined #lisp 2020-01-21T08:29:57Z frgo_ quit (Ping timeout: 272 seconds) 2020-01-21T08:30:58Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-21T08:34:51Z emys joined #lisp 2020-01-21T08:41:59Z ealfonso quit (Ping timeout: 272 seconds) 2020-01-21T08:44:13Z scymtym quit (Ping timeout: 265 seconds) 2020-01-21T08:44:40Z nullman quit (Remote host closed the connection) 2020-01-21T08:45:00Z nullman joined #lisp 2020-01-21T08:47:05Z Cymew quit (Quit: Konversation terminated!) 2020-01-21T08:47:07Z cmatei quit (Ping timeout: 265 seconds) 2020-01-21T08:47:41Z emys quit (Ping timeout: 272 seconds) 2020-01-21T08:47:47Z cmatei joined #lisp 2020-01-21T08:48:29Z Cymew joined #lisp 2020-01-21T08:56:06Z mingus joined #lisp 2020-01-21T09:00:42Z Kaisyu72 joined #lisp 2020-01-21T09:00:46Z ralt joined #lisp 2020-01-21T09:02:06Z Kaisyu7 quit (Ping timeout: 265 seconds) 2020-01-21T09:03:58Z Kaisyu722 joined #lisp 2020-01-21T09:06:03Z Kaisyu72 quit (Ping timeout: 272 seconds) 2020-01-21T09:08:22Z quazimodo joined #lisp 2020-01-21T09:11:57Z davepdotorg joined #lisp 2020-01-21T09:13:08Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-21T09:13:29Z chocimir quit (Ping timeout: 268 seconds) 2020-01-21T09:16:44Z kscarlet joined #lisp 2020-01-21T09:17:22Z igemnace quit (Ping timeout: 265 seconds) 2020-01-21T09:17:45Z hhdave joined #lisp 2020-01-21T09:18:30Z smazga joined #lisp 2020-01-21T09:23:21Z smazga quit (Ping timeout: 268 seconds) 2020-01-21T09:25:43Z scymtym joined #lisp 2020-01-21T09:27:24Z emys joined #lisp 2020-01-21T09:30:55Z igemnace joined #lisp 2020-01-21T09:32:59Z Kaisyu7 joined #lisp 2020-01-21T09:33:09Z phoe quit (Quit: leaving) 2020-01-21T09:34:31Z phoe joined #lisp 2020-01-21T09:34:36Z Kaisyu722 quit (Ping timeout: 258 seconds) 2020-01-21T09:35:53Z kscarlet quit (Ping timeout: 260 seconds) 2020-01-21T09:39:42Z emys quit (Ping timeout: 260 seconds) 2020-01-21T09:43:54Z emys joined #lisp 2020-01-21T09:44:37Z Necktwi joined #lisp 2020-01-21T09:52:37Z emys quit (Ping timeout: 258 seconds) 2020-01-21T09:56:01Z nullman quit (Remote host closed the connection) 2020-01-21T09:56:16Z nullman joined #lisp 2020-01-21T10:02:00Z rememberYou joined #lisp 2020-01-21T10:03:51Z rememberYou quit (Client Quit) 2020-01-21T10:05:49Z rememberYou joined #lisp 2020-01-21T10:07:23Z frgo joined #lisp 2020-01-21T10:10:43Z rememberYou quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-21T10:19:51Z libertyprime joined #lisp 2020-01-21T10:21:29Z EvW joined #lisp 2020-01-21T10:22:49Z tumdum quit (Ping timeout: 265 seconds) 2020-01-21T10:24:49Z montaropdf joined #lisp 2020-01-21T10:29:30Z statusf90 joined #lisp 2020-01-21T10:36:42Z montaropdf quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-21T10:41:42Z montaropdf joined #lisp 2020-01-21T10:44:45Z igemnace quit (Ping timeout: 268 seconds) 2020-01-21T10:48:04Z rtra joined #lisp 2020-01-21T10:48:04Z tiwEllien joined #lisp 2020-01-21T10:53:05Z EvW quit (Ping timeout: 272 seconds) 2020-01-21T10:56:15Z montaropdf quit (Ping timeout: 258 seconds) 2020-01-21T11:00:14Z igemnace joined #lisp 2020-01-21T11:07:02Z shifty joined #lisp 2020-01-21T11:10:58Z |Pirx| quit (Ping timeout: 260 seconds) 2020-01-21T11:10:59Z doublex__ joined #lisp 2020-01-21T11:14:12Z doublex_ quit (Ping timeout: 260 seconds) 2020-01-21T11:16:15Z cyraxjoe quit (Quit: No Ping reply in 180 seconds.) 2020-01-21T11:17:09Z brown121407 quit (Read error: Connection reset by peer) 2020-01-21T11:17:34Z cyraxjoe joined #lisp 2020-01-21T11:17:34Z brown121407 joined #lisp 2020-01-21T11:21:08Z shifty quit (Ping timeout: 268 seconds) 2020-01-21T11:26:23Z shifty joined #lisp 2020-01-21T11:28:47Z jmercouris joined #lisp 2020-01-21T11:34:30Z kscarlet joined #lisp 2020-01-21T11:35:31Z bendersteed quit (Ping timeout: 272 seconds) 2020-01-21T11:39:12Z statusf90 quit (Quit: statusf90) 2020-01-21T11:41:53Z kscarlet quit (Ping timeout: 265 seconds) 2020-01-21T11:43:46Z montaropdf joined #lisp 2020-01-21T11:46:03Z montaropdf quit (Remote host closed the connection) 2020-01-21T11:46:03Z ebzzry quit (Read error: Connection reset by peer) 2020-01-21T11:46:43Z roland` joined #lisp 2020-01-21T11:49:32Z roland` quit (Client Quit) 2020-01-21T11:50:27Z montaropdf joined #lisp 2020-01-21T11:50:52Z montaropdf quit (Remote host closed the connection) 2020-01-21T11:51:46Z montaropdf joined #lisp 2020-01-21T11:53:45Z heisig joined #lisp 2020-01-21T11:56:49Z frgo quit (Ping timeout: 258 seconds) 2020-01-21T12:01:02Z statusf90 joined #lisp 2020-01-21T12:01:27Z Lord_of_Life_ joined #lisp 2020-01-21T12:03:14Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-21T12:03:15Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-21T12:03:56Z EvW joined #lisp 2020-01-21T12:08:17Z rwcom0 joined #lisp 2020-01-21T12:10:07Z rwcom quit (Ping timeout: 265 seconds) 2020-01-21T12:10:07Z rwcom0 is now known as rwcom 2020-01-21T12:13:39Z kscarlet joined #lisp 2020-01-21T12:15:40Z kscarlet quit (Remote host closed the connection) 2020-01-21T12:17:55Z pfdietz quit (Remote host closed the connection) 2020-01-21T12:28:39Z lucasb joined #lisp 2020-01-21T12:34:32Z jonatack quit (Quit: jonatack) 2020-01-21T12:40:45Z seok quit (Remote host closed the connection) 2020-01-21T12:49:02Z amerlyq joined #lisp 2020-01-21T12:59:57Z oxum quit (Remote host closed the connection) 2020-01-21T13:00:59Z Lycurgus joined #lisp 2020-01-21T13:00:59Z Lycurgus quit (Client Quit) 2020-01-21T13:04:03Z EvW quit (Ping timeout: 245 seconds) 2020-01-21T13:10:40Z asdf_asdf_asdf joined #lisp 2020-01-21T13:13:49Z oxum joined #lisp 2020-01-21T13:14:45Z Posterdati joined #lisp 2020-01-21T13:14:58Z wxie joined #lisp 2020-01-21T13:16:38Z flamebeard quit (Remote host closed the connection) 2020-01-21T13:16:44Z jeosol quit (Remote host closed the connection) 2020-01-21T13:17:14Z flamebeard joined #lisp 2020-01-21T13:17:57Z flamebeard quit (Remote host closed the connection) 2020-01-21T13:18:09Z flamebeard joined #lisp 2020-01-21T13:18:28Z oxum quit (Ping timeout: 258 seconds) 2020-01-21T13:19:32Z CrazyEddy quit (Ping timeout: 268 seconds) 2020-01-21T13:29:13Z shifty quit (Ping timeout: 260 seconds) 2020-01-21T13:30:25Z FreeBirdLjj joined #lisp 2020-01-21T13:34:53Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2020-01-21T13:35:57Z nullman quit (Ping timeout: 265 seconds) 2020-01-21T13:38:38Z _fe_ joined #lisp 2020-01-21T13:43:37Z flamebeard quit (Remote host closed the connection) 2020-01-21T13:43:57Z flamebeard joined #lisp 2020-01-21T13:46:14Z Bike joined #lisp 2020-01-21T13:46:28Z emys joined #lisp 2020-01-21T14:05:14Z brown121407 quit (Ping timeout: 240 seconds) 2020-01-21T14:09:04Z pfdietz joined #lisp 2020-01-21T14:09:04Z brown121407 joined #lisp 2020-01-21T14:11:49Z ebrasca joined #lisp 2020-01-21T14:12:31Z wxie quit (Ping timeout: 258 seconds) 2020-01-21T14:15:02Z FreeBirdLjj joined #lisp 2020-01-21T14:17:41Z v88m quit (Ping timeout: 268 seconds) 2020-01-21T14:18:41Z sindan quit (Ping timeout: 265 seconds) 2020-01-21T14:19:16Z gko_ joined #lisp 2020-01-21T14:19:52Z dddddd joined #lisp 2020-01-21T14:21:32Z flamebeard quit 2020-01-21T14:23:14Z brown121407 quit (Read error: Connection reset by peer) 2020-01-21T14:23:24Z brown121407 joined #lisp 2020-01-21T14:32:10Z random-nick joined #lisp 2020-01-21T14:32:41Z amerlyq quit (Read error: Connection reset by peer) 2020-01-21T14:36:18Z gigetoo quit (Ping timeout: 260 seconds) 2020-01-21T14:36:34Z mingus quit (Ping timeout: 265 seconds) 2020-01-21T14:36:52Z gigetoo joined #lisp 2020-01-21T14:37:27Z amerlyq joined #lisp 2020-01-21T14:38:22Z LiamH joined #lisp 2020-01-21T14:41:36Z frgo joined #lisp 2020-01-21T14:42:54Z orivej joined #lisp 2020-01-21T14:44:35Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-21T14:48:50Z seok joined #lisp 2020-01-21T14:52:22Z emys quit (Ping timeout: 260 seconds) 2020-01-21T14:56:42Z emys joined #lisp 2020-01-21T15:00:16Z smazga joined #lisp 2020-01-21T15:00:40Z notzmv quit (Ping timeout: 268 seconds) 2020-01-21T15:01:42Z statusf90 quit (Quit: statusf90) 2020-01-21T15:03:33Z asdf_asdf_asdf joined #lisp 2020-01-21T15:05:02Z smazga quit (Ping timeout: 258 seconds) 2020-01-21T15:08:26Z emys quit (Ping timeout: 240 seconds) 2020-01-21T15:10:13Z znebula quit (Ping timeout: 272 seconds) 2020-01-21T15:12:41Z emys joined #lisp 2020-01-21T15:17:30Z emys quit (Ping timeout: 268 seconds) 2020-01-21T15:19:35Z heisig quit (Quit: Leaving) 2020-01-21T15:20:59Z emys joined #lisp 2020-01-21T15:24:47Z Cymew quit (Ping timeout: 272 seconds) 2020-01-21T15:27:50Z dale_ joined #lisp 2020-01-21T15:27:58Z dale_ is now known as dale 2020-01-21T15:28:05Z sauvin quit (Ping timeout: 265 seconds) 2020-01-21T15:28:51Z jprajzne quit (Quit: Leaving.) 2020-01-21T15:29:29Z jonatack joined #lisp 2020-01-21T15:29:51Z emys quit (Ping timeout: 272 seconds) 2020-01-21T15:37:24Z nullman joined #lisp 2020-01-21T15:37:51Z efm joined #lisp 2020-01-21T15:38:30Z LiamH quit (Quit: Leaving.) 2020-01-21T15:39:23Z trittweiler quit (Remote host closed the connection) 2020-01-21T15:40:20Z trittweiler joined #lisp 2020-01-21T15:40:39Z sauvin joined #lisp 2020-01-21T15:42:40Z emys joined #lisp 2020-01-21T15:47:02Z ebrasca left #lisp 2020-01-21T15:47:26Z zmt01 joined #lisp 2020-01-21T15:50:28Z zmt00 quit (Ping timeout: 248 seconds) 2020-01-21T15:50:34Z LiamH joined #lisp 2020-01-21T15:50:35Z Xach: / 2020-01-21T15:51:02Z emys quit (Ping timeout: 258 seconds) 2020-01-21T15:51:46Z dlowe: never heard of them. What are they? 2020-01-21T15:59:37Z edgar-rft quit (Quit: Leaving) 2020-01-21T16:01:10Z mister_m: Hello again - can i use DESTRUCTURING-BIND to extract the car, and cdr / "rest" of a list? I'm a little confused about how destructuring lambda lists work. 2020-01-21T16:02:15Z Shinmera: (destructuring-bind (a . b) ...) 2020-01-21T16:02:20Z beach: Sure: (destructuring-bind (car . cdr) ...) 2020-01-21T16:03:23Z mister_m: I didn't know you could just do dot notation there, awesome. Does the "rest" of the list when destructuring this way give a proper list? 2020-01-21T16:04:07Z beach: mister_m: Only if the original list returned by is proper. 2020-01-21T16:04:23Z mister_m: thanks! 2020-01-21T16:04:48Z beach: mister_m: I mean, (cdr '(a b c . d)) is (b c . d) which is not proper. 2020-01-21T16:04:57Z smazga joined #lisp 2020-01-21T16:05:04Z patlv joined #lisp 2020-01-21T16:05:55Z beach: So (multiple-value-bind (car . cdr) '(a b c . d) ...) will give A as the value of CAR and (B C . D) as the value of CDR, so CDR is not proper. 2020-01-21T16:06:23Z DaisyChristieeee joined #lisp 2020-01-21T16:07:00Z emys joined #lisp 2020-01-21T16:08:24Z jonatack quit (Ping timeout: 265 seconds) 2020-01-21T16:08:40Z eschulte joined #lisp 2020-01-21T16:08:51Z Shinmera: You could also use &rest instead of the dotted pair, I suppose. 2020-01-21T16:09:30Z DaisyChristieeee: Whats wrong with it ? https://bit.ly/38yoZCp Could you please help me to debug it.. 2020-01-21T16:11:02Z mister_m: Shinmera: that works as well 2020-01-21T16:11:10Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-21T16:13:36Z phoe: DaisyChristieeee: what is there to debug? This isn't Lisp code. 2020-01-21T16:13:45Z DaisyChristieeee: Whats wrong with it ? https://bit.ly/38yoZCp Could you please help me to debug it.. 2020-01-21T16:13:46Z DaisyChristieeee: it is 2020-01-21T16:13:47Z DaisyChristieeee: check 2020-01-21T16:14:14Z ChanServ has set mode +o phoe 2020-01-21T16:14:18Z phoe has set mode +b *!*DaisyChri@139.5.252.* 2020-01-21T16:14:19Z DaisyChristieeee [~phoe@2001:19f0:5:689f:5400:2ff:fe77:b1de] has been kicked from #lisp by phoe (DaisyChristieeee) 2020-01-21T16:14:22Z ChanServ has set mode -o phoe 2020-01-21T16:14:26Z phoe: there, debugged 2020-01-21T16:15:19Z rwcom9 joined #lisp 2020-01-21T16:15:30Z jmercouris quit (Remote host closed the connection) 2020-01-21T16:15:57Z frgo quit (Ping timeout: 258 seconds) 2020-01-21T16:16:39Z montaropdf quit (Quit: See you later) 2020-01-21T16:16:54Z rwcom quit (Ping timeout: 265 seconds) 2020-01-21T16:16:54Z rwcom9 is now known as rwcom 2020-01-21T16:17:22Z phoe: golly, I've become unusually proficient at using the chanserv commands as of late 2020-01-21T16:26:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-21T16:27:09Z seok: with dexador, if I do (dex:get ..) with keep-alive to true every time, does the connection remain open? 2020-01-21T16:27:12Z seok: Not sure how it works 2020-01-21T16:29:04Z bitmapper joined #lisp 2020-01-21T16:30:09Z Necktwi quit (Read error: Connection reset by peer) 2020-01-21T16:30:43Z emys quit (Ping timeout: 245 seconds) 2020-01-21T16:31:00Z kajo quit (Ping timeout: 252 seconds) 2020-01-21T16:31:47Z emys joined #lisp 2020-01-21T16:32:09Z kenu quit (Remote host closed the connection) 2020-01-21T16:32:13Z v88m joined #lisp 2020-01-21T16:33:46Z phoe: if it works like a HTTP keepalive, then yes, it must stay open 2020-01-21T16:34:50Z rtra quit (Ping timeout: 240 seconds) 2020-01-21T16:35:23Z Necktwi joined #lisp 2020-01-21T16:45:37Z _death: seok: it has a connection pool.. note that keep-alive is true by default.. if you have many requests to many servers, you'll run out of file descriptors unless you clear the connection pool every now and then :/ 2020-01-21T16:46:09Z seok: the documentation says the default is nil though 2020-01-21T16:47:01Z seok: _death: so would it be fine if I am connecting to one server only? 2020-01-21T16:47:08Z _death: https://github.com/fukamachi/dexador/blob/master/src/backend/usocket.lisp#L428 2020-01-21T16:47:31Z _death: looks like doc or code needs a fix 2020-01-21T16:47:48Z seok: ah, so the doc is wrong? 2020-01-21T16:48:15Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-21T16:48:44Z _death: when there's a mismatch like that, hard to tell which one is wrong 2020-01-21T16:48:51Z FreeBirdLjj joined #lisp 2020-01-21T16:49:36Z seok: thanks guys 2020-01-21T16:49:37Z clothespin quit (Ping timeout: 260 seconds) 2020-01-21T16:49:44Z _death: wrong(doc|code) or wrong(code|doc) 2020-01-21T16:50:54Z seok: apparently ArangoDB's http api supports keep alive, so I figured it would be right to use it 2020-01-21T16:51:59Z ggoes quit (Remote host closed the connection) 2020-01-21T16:51:59Z _death: I guess it's best to specify it explicitly 2020-01-21T16:53:13Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2020-01-21T16:56:07Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-01-21T17:02:41Z karlosz joined #lisp 2020-01-21T17:02:53Z frgo joined #lisp 2020-01-21T17:02:58Z jonatack joined #lisp 2020-01-21T17:05:15Z harovali joined #lisp 2020-01-21T17:05:43Z gko_ quit (Ping timeout: 265 seconds) 2020-01-21T17:06:05Z varjag joined #lisp 2020-01-21T17:06:26Z harovali1 quit (Read error: Connection reset by peer) 2020-01-21T17:07:42Z igemnace quit (Quit: WeeChat 2.7) 2020-01-21T17:09:30Z seok quit (Remote host closed the connection) 2020-01-21T17:12:05Z ebrasca joined #lisp 2020-01-21T17:15:35Z clothespin joined #lisp 2020-01-21T17:17:14Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-21T17:18:50Z amerlyq quit (Quit: amerlyq) 2020-01-21T17:21:07Z ggole quit (Quit: Leaving) 2020-01-21T17:21:18Z sjl_ joined #lisp 2020-01-21T17:25:40Z rtra joined #lisp 2020-01-21T17:27:11Z Khisanth quit (Ping timeout: 265 seconds) 2020-01-21T17:28:14Z emys quit (Ping timeout: 268 seconds) 2020-01-21T17:29:33Z nullman quit (Ping timeout: 260 seconds) 2020-01-21T17:30:10Z nullman joined #lisp 2020-01-21T17:31:51Z emys joined #lisp 2020-01-21T17:32:24Z _whitelogger quit (Remote host closed the connection) 2020-01-21T17:34:37Z _whitelogger joined #lisp 2020-01-21T17:37:40Z hhdave quit (Quit: hhdave) 2020-01-21T17:37:47Z Necktwi quit (Quit: leaving) 2020-01-21T17:38:09Z karlosz quit (Quit: karlosz) 2020-01-21T17:38:52Z william1_ joined #lisp 2020-01-21T17:39:47Z scymtym quit (Ping timeout: 260 seconds) 2020-01-21T17:40:00Z Khisanth joined #lisp 2020-01-21T17:40:23Z rtra quit (Ping timeout: 268 seconds) 2020-01-21T17:41:02Z rtra joined #lisp 2020-01-21T17:45:48Z slyrus_ joined #lisp 2020-01-21T17:47:34Z slyrus quit (Ping timeout: 258 seconds) 2020-01-21T17:48:48Z zmv joined #lisp 2020-01-21T17:48:50Z EvW1 joined #lisp 2020-01-21T17:48:50Z emys quit (Ping timeout: 240 seconds) 2020-01-21T17:48:54Z pjb quit (Ping timeout: 246 seconds) 2020-01-21T17:49:45Z emys joined #lisp 2020-01-21T17:54:52Z Necktwi joined #lisp 2020-01-21T17:56:37Z zmv quit (Remote host closed the connection) 2020-01-21T17:57:32Z emys quit (Ping timeout: 258 seconds) 2020-01-21T17:58:32Z mangul quit (Read error: Connection reset by peer) 2020-01-21T18:01:05Z shangul joined #lisp 2020-01-21T18:14:35Z igemnace joined #lisp 2020-01-21T18:15:33Z emys joined #lisp 2020-01-21T18:23:54Z emys quit (Ping timeout: 246 seconds) 2020-01-21T18:24:19Z cosimone joined #lisp 2020-01-21T18:24:53Z clothespin quit (Ping timeout: 245 seconds) 2020-01-21T18:25:42Z lonjil2 quit (Quit: Quit.) 2020-01-21T18:26:35Z lonjil joined #lisp 2020-01-21T18:27:27Z bitmapper quit (Remote host closed the connection) 2020-01-21T18:27:50Z emys joined #lisp 2020-01-21T18:28:12Z pjb joined #lisp 2020-01-21T18:28:47Z cosimone_ joined #lisp 2020-01-21T18:29:03Z igemnace quit (Ping timeout: 260 seconds) 2020-01-21T18:29:24Z cosimone quit (Ping timeout: 248 seconds) 2020-01-21T18:32:33Z efm quit (Ping timeout: 260 seconds) 2020-01-21T18:33:36Z rtra quit (Ping timeout: 268 seconds) 2020-01-21T18:34:27Z rtra joined #lisp 2020-01-21T18:36:15Z emys quit (Ping timeout: 258 seconds) 2020-01-21T18:40:28Z v88m quit (Ping timeout: 258 seconds) 2020-01-21T18:41:43Z efm joined #lisp 2020-01-21T18:42:24Z igemnace joined #lisp 2020-01-21T18:42:28Z bitmapper joined #lisp 2020-01-21T18:47:24Z clothespin joined #lisp 2020-01-21T18:49:24Z rwcom8 joined #lisp 2020-01-21T18:49:43Z bendersteed joined #lisp 2020-01-21T18:51:13Z rwcom quit (Ping timeout: 260 seconds) 2020-01-21T18:51:13Z rwcom8 is now known as rwcom 2020-01-21T18:51:48Z visage_ quit (Quit: visage_) 2020-01-21T18:52:26Z bitmapper quit (Remote host closed the connection) 2020-01-21T18:52:59Z emys joined #lisp 2020-01-21T18:54:28Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-21T18:58:01Z ym quit (Quit: Leaving) 2020-01-21T18:59:14Z rtra quit (Ping timeout: 240 seconds) 2020-01-21T18:59:57Z tiwEllien quit (Remote host closed the connection) 2020-01-21T19:00:47Z tiwEllien joined #lisp 2020-01-21T19:00:52Z clothespin quit (Ping timeout: 248 seconds) 2020-01-21T19:01:01Z seok joined #lisp 2020-01-21T19:01:34Z rtra joined #lisp 2020-01-21T19:01:58Z emys quit (Ping timeout: 268 seconds) 2020-01-21T19:05:37Z emys joined #lisp 2020-01-21T19:11:23Z Codaraxis_ quit (Ping timeout: 265 seconds) 2020-01-21T19:11:55Z stepnem_ joined #lisp 2020-01-21T19:13:49Z stepnem quit (Ping timeout: 258 seconds) 2020-01-21T19:13:50Z raghavgururajan joined #lisp 2020-01-21T19:14:00Z Khisanth quit (Ping timeout: 265 seconds) 2020-01-21T19:15:54Z bitmapper joined #lisp 2020-01-21T19:16:16Z cl-arthur joined #lisp 2020-01-21T19:24:38Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-21T19:25:18Z brown121407 joined #lisp 2020-01-21T19:25:40Z clothespin joined #lisp 2020-01-21T19:26:02Z sauvin quit (Read error: Connection reset by peer) 2020-01-21T19:29:34Z edgar-rft joined #lisp 2020-01-21T19:31:27Z Khisanth joined #lisp 2020-01-21T19:33:52Z efm quit (Remote host closed the connection) 2020-01-21T19:36:40Z brown121407 quit (Read error: Connection reset by peer) 2020-01-21T19:36:52Z brown121407 joined #lisp 2020-01-21T19:41:10Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-21T19:43:31Z knicklux joined #lisp 2020-01-21T19:43:47Z jmercouris joined #lisp 2020-01-21T19:44:20Z jmercouris: what shell do you guys use? 2020-01-21T19:44:47Z Josh_2: bash 2020-01-21T19:45:09Z hiroaki: bash, ksh when i have to 2020-01-21T19:46:12Z efm joined #lisp 2020-01-21T19:46:39Z jmercouris: no shell with lispy syntax? 2020-01-21T19:46:46Z pjb: bash, or eshell ;-) 2020-01-21T19:46:48Z jmercouris: like (ls :l :a) 2020-01-21T19:47:04Z pjb: jmercouris: if you want that, scsh is cool (but scheme). 2020-01-21T19:47:04Z hiroaki: in this case, emacs ;) 2020-01-21T19:47:11Z pjb: You could re-implement it in CL./ 2020-01-21T19:47:30Z LdBeth: There’s a package running clisp as a login shell 2020-01-21T19:48:02Z jmercouris: scsch looks cool 2020-01-21T19:48:25Z LdBeth: However, trust me you won’t like an interactive shell without command/path completion 2020-01-21T19:48:34Z gioyik joined #lisp 2020-01-21T19:49:09Z LdBeth: scheme shell and it’s variants are ok while only used for scription 2020-01-21T19:49:22Z jmercouris: Yes 2020-01-21T19:50:05Z LdBeth: That’s say, it’s solely a Unix program oriented script language 2020-01-21T19:50:30Z ralt quit (Quit: Connection closed for inactivity) 2020-01-21T19:50:33Z jmercouris: Yes 2020-01-21T19:51:13Z random-nick quit (Ping timeout: 265 seconds) 2020-01-21T19:51:25Z rtra quit (Ping timeout: 272 seconds) 2020-01-21T19:52:49Z LdBeth: Actually, there’s an Emacs fork that was optimized to be used as login shell 2020-01-21T19:52:51Z rtra joined #lisp 2020-01-21T19:53:28Z LdBeth: SXEmacs I recall 2020-01-21T19:54:06Z jackdaniel: there is a shelisp program written in CL which allows you to mix the repl and the shell (like bash) with a special reader macros 2020-01-21T19:54:22Z jackdaniel: (and underneath - a run-program) 2020-01-21T19:55:00Z jackdaniel: http://dan.corlan.net/shelisp/ 2020-01-21T19:55:50Z cosimone_ quit (Quit: Quit.) 2020-01-21T19:56:30Z LdBeth: I hope they could provide features like Do What I Mean or command abbreviation to make it useable 2020-01-21T19:59:17Z jmercouris quit (Remote host closed the connection) 2020-01-21T20:04:37Z random-nick joined #lisp 2020-01-21T20:06:31Z ebrasca quit (Remote host closed the connection) 2020-01-21T20:08:26Z emys quit (Ping timeout: 240 seconds) 2020-01-21T20:20:06Z shangul quit (Ping timeout: 268 seconds) 2020-01-21T20:27:30Z william1_ quit (Ping timeout: 268 seconds) 2020-01-21T20:32:50Z klltkr quit (Read error: Connection reset by peer) 2020-01-21T20:33:38Z cosimone joined #lisp 2020-01-21T20:34:02Z Codaraxis joined #lisp 2020-01-21T20:34:21Z klltkr joined #lisp 2020-01-21T20:35:32Z Ven`` joined #lisp 2020-01-21T20:35:51Z emys joined #lisp 2020-01-21T20:37:05Z rtra quit (Quit: WeeChat 2.3) 2020-01-21T20:38:41Z karlosz joined #lisp 2020-01-21T20:39:09Z asdf_asdf_asdf31 joined #lisp 2020-01-21T20:39:31Z efm quit (Quit: Konversation terminated!) 2020-01-21T20:40:35Z karlosz quit (Client Quit) 2020-01-21T20:42:45Z gabiruh quit (Ping timeout: 258 seconds) 2020-01-21T20:43:08Z asdf_asdf_asdf quit (Ping timeout: 258 seconds) 2020-01-21T20:44:06Z asdf_asdf_asdf31 is now known as asdf_asdf_asdf 2020-01-21T20:44:47Z ym joined #lisp 2020-01-21T20:52:01Z _fe_ quit (Quit: Leaving) 2020-01-21T20:56:31Z narimiran quit (Quit: leaving) 2020-01-21T21:02:16Z pfdietz quit (Remote host closed the connection) 2020-01-21T21:07:23Z gabiruh joined #lisp 2020-01-21T21:09:54Z patlv quit (Quit: Leaving) 2020-01-21T21:12:48Z Codaraxis quit (Ping timeout: 245 seconds) 2020-01-21T21:15:17Z hail_eris joined #lisp 2020-01-21T21:25:12Z zclark joined #lisp 2020-01-21T21:28:30Z karlosz joined #lisp 2020-01-21T21:31:08Z emys quit (Ping timeout: 245 seconds) 2020-01-21T21:32:05Z kajo joined #lisp 2020-01-21T21:37:28Z orivej quit (Ping timeout: 260 seconds) 2020-01-21T21:44:49Z slyrus__ joined #lisp 2020-01-21T21:47:51Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-21T21:55:33Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-21T22:01:08Z karlosz quit (Quit: karlosz) 2020-01-21T22:04:30Z clothespin quit (Ping timeout: 268 seconds) 2020-01-21T22:04:53Z gioyik quit (Ping timeout: 260 seconds) 2020-01-21T22:05:40Z manualcrank joined #lisp 2020-01-21T22:06:17Z shifty joined #lisp 2020-01-21T22:06:49Z jeosol joined #lisp 2020-01-21T22:08:18Z asdf_asdf_asdf: Hi. How check type of function? (defun hello (a b) (+ a b)) (typep #'hello '(function (fixnum fixnum)) 2020-01-21T22:10:18Z phoe: asdf_asdf_asdf: no portable way of doing this 2020-01-21T22:10:31Z pnp joined #lisp 2020-01-21T22:10:40Z phoe: especially since HELLO can also accept non-fixnum arguments 2020-01-21T22:10:51Z phoe: e.g. (hello 1/2 1/2) is valid 2020-01-21T22:10:54Z gioyik joined #lisp 2020-01-21T22:10:55Z harovali quit (Ping timeout: 258 seconds) 2020-01-21T22:11:29Z Shinmera: asdf is trying to use CL as if it were C. Unsurprisingly, it is not going well. 2020-01-21T22:12:09Z asdf_asdf_asdf: OK, how check type #'hello with (function ...? 2020-01-21T22:12:34Z eeeeeta: what 2020-01-21T22:12:51Z eeeeeta read that 3 times and still has no idea what is being asked 2020-01-21T22:13:00Z slyrus joined #lisp 2020-01-21T22:13:01Z White_Flame: do you need anything more than FUNCTIONP? 2020-01-21T22:13:05Z phoe: Shinmera: how? 2020-01-21T22:13:19Z no-defun-allowed: You can only really test (typep #'hello 'function) which is a given if it's in the function namespace. 2020-01-21T22:13:37Z phoe: asdf_asdf_asdf: in standard CL, you don't. The language doesn't work that way. 2020-01-21T22:13:38Z Shinmera: phoe: Don't ask me 2020-01-21T22:13:38Z eeeeeta: > (typep (function ...) 'function) 2020-01-21T22:13:40Z eeeeeta: 🤔 2020-01-21T22:13:47Z phoe: TYPEP won't work that way because 2020-01-21T22:13:48Z phoe: http://clhs.lisp.se/Body/f_typep.htm 2020-01-21T22:13:55Z phoe: > An error of type error is signaled if type-specifier is values, or a type specifier list whose first element is either function or values. 2020-01-21T22:13:56Z pnp: Hi all, which is the command to indent the whole buffer in Emacs? ... M-x mark-whole-buffer and M-x indent-region does not works 2020-01-21T22:14:03Z White_Flame: also, there's (and (symbolp obj) (fboundp obj)) if you want to check for funcallable symbols 2020-01-21T22:14:04Z phoe: So (typep x '(function ...)) will blow up. 2020-01-21T22:14:08Z pnp: I'm using slime + paredit 2020-01-21T22:14:22Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-21T22:14:25Z phoe: pnp: C-x M-x indent-region 2020-01-21T22:14:28Z phoe: uh 2020-01-21T22:14:31Z phoe: pnp: C-x h M-x indent-region 2020-01-21T22:14:37Z phoe: so basically, select all + indent region 2020-01-21T22:14:49Z phoe: that's what works for me 2020-01-21T22:14:52Z pnp: ok... thank you 2020-01-21T22:15:12Z no-defun-allowed: C-x h C-M-\ 2020-01-21T22:15:24Z Shinmera: I typically do C-x h TAB 2020-01-21T22:15:54Z pnp: Shinmera! wow 2020-01-21T22:16:08Z pnp: yes the last works for me too 2020-01-21T22:17:08Z emys joined #lisp 2020-01-21T22:18:31Z Codaraxis joined #lisp 2020-01-21T22:20:18Z asdf_asdf_asdf: I want to slot of struct put type function. 2020-01-21T22:20:43Z Bike quit (Quit: Bike) 2020-01-21T22:21:02Z phoe: I didn't manage to parse that grammar 2020-01-21T22:21:08Z pnp quit (Remote host closed the connection) 2020-01-21T22:21:19Z no-defun-allowed: You want a structure where a slot has a function type? 2020-01-21T22:21:41Z asdf_asdf_asdf: Yes, no-defun-allowed. 2020-01-21T22:21:53Z phoe: you can have that, but you won't really make use of that function type 2020-01-21T22:21:59Z no-defun-allowed: (defstruct asdf\'s-structure (function-goes-here (error "please provide a function") :type function)) 2020-01-21T22:23:20Z LdBeth: Since it is a function object, the defstruct would only allocate a reference to the function 2020-01-21T22:23:59Z tumdum joined #lisp 2020-01-21T22:25:41Z asdf_asdf_asdf: No, I want type function like (get-type/signature-func 'func2). 2020-01-21T22:25:41Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-21T22:26:22Z emys quit (Ping timeout: 265 seconds) 2020-01-21T22:26:39Z no-defun-allowed: So you want to get the type of a value? 2020-01-21T22:26:41Z no-defun-allowed: clhs type-of 2020-01-21T22:26:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_tp_of.htm 2020-01-21T22:29:03Z phoe: asdf_asdf_asdf: what is get-type/signature-func? 2020-01-21T22:29:45Z asdf_asdf_asdf: Derived type of SB-ALIEN::ALLOC-TMP is 2020-01-21T22:30:19Z asdf_asdf_asdf: I must write (values (member func2) &optional), how get this type? 2020-01-21T22:30:28Z random-nick quit (Ping timeout: 258 seconds) 2020-01-21T22:30:30Z phoe: *must* write? where? 2020-01-21T22:30:32Z White_Flame: if I understand this correctly, 1) you can with implementation internals, and since that's the case, 2) are you sure you need that info? 2020-01-21T22:30:34Z no-defun-allowed: What‽ 2020-01-21T22:31:24Z asdf_asdf_asdf: What I should put into type instead int (signed-byte 32)? 2020-01-21T22:31:37Z phoe: judging by what you say you must do in order to keep on writing lisp, you are likely doing something horribly wrong now 2020-01-21T22:31:45Z phoe: what are you trying to do? 2020-01-21T22:31:57Z White_Flame: also, if this is a FFI question and not a plain function question, you need to be a lot more specific 2020-01-21T22:32:18Z no-defun-allowed: asdf_asdf_asdf: Can you do me a favour and avoid the FFI, and more so SBCL's FFI and its internals, until you learn Common Lisp please? 2020-01-21T22:33:00Z emys joined #lisp 2020-01-21T22:33:01Z asdf_asdf_asdf: I learn SBCL and Common Lisp. 2020-01-21T22:33:30Z White_Flame: you should never be hitting anything SB-ALIEN: if you're just learning CL 2020-01-21T22:33:43Z phoe: I honestly have no idea how you ended up trying to write VALUES types by hand 2020-01-21T22:33:56Z phoe: and I say it's high time to backtrack 2020-01-21T22:34:10Z Nilby: For me (lambda-list 'print) -> (sb-impl::object &optional stream) 2020-01-21T22:34:40Z Nilby: First thing I tried to write in CL was an implementation independant FFI. 2020-01-21T22:35:05Z phoe: so basically a UFFI and/or a CFFI? 2020-01-21T22:35:30Z Nilby: Yes. It was before CFFI was written, and UFFI didn't work right. 2020-01-21T22:36:15Z Nilby: It was both hightly educational & highly boring & frustrating. 2020-01-21T22:36:18Z phoe: I see 2020-01-21T22:37:38Z Shinmera: highly boring and frustrating is how I feel every time I do FFI 2020-01-21T22:37:41Z Shinmera: *bored 2020-01-21T22:37:51Z Shinmera: eh, whatever, you get what I mean. I'm off to bed. 2020-01-21T22:37:56Z gabiruh quit (Ping timeout: 248 seconds) 2020-01-21T22:39:17Z dddddd quit (Ping timeout: 258 seconds) 2020-01-21T22:40:50Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-21T22:41:03Z sjl joined #lisp 2020-01-21T22:42:25Z emys quit (Ping timeout: 272 seconds) 2020-01-21T22:43:58Z sjl_ quit (Ping timeout: 260 seconds) 2020-01-21T22:48:59Z cl-arthur: How to check the metaclass of an object? And how to check whether an object is an instance or a class object? 2020-01-21T22:49:50Z phoe: (class-of (class-of x)) 2020-01-21T22:49:58Z phoe: also (typep x 'class) 2020-01-21T22:50:36Z no-defun-allowed: A class is an instance of a class (circular much?) by the way. 2020-01-21T22:50:41Z phoe: metaclass == class of class 2020-01-21T22:50:52Z phoe: metaclass of object == class of class of object 2020-01-21T22:50:57Z no-defun-allowed: You said it even; the metaclass is...that. 2020-01-21T22:51:26Z phoe: ;; also, all class objects are instances - no-defun-allowed mentioned that up there 2020-01-21T22:51:37Z phoe: ;; so you might want to double-check your nomenclature 2020-01-21T22:51:38Z madage quit (Remote host closed the connection) 2020-01-21T22:51:55Z gabiruh joined #lisp 2020-01-21T22:51:55Z madage joined #lisp 2020-01-21T22:52:42Z emys joined #lisp 2020-01-21T22:53:39Z knicklux quit (Ping timeout: 268 seconds) 2020-01-21T22:56:48Z cl-arthur: Thanks :) 2020-01-21T22:57:52Z Jesin quit (Quit: Leaving) 2020-01-21T23:15:26Z LiamH quit (Quit: Leaving.) 2020-01-21T23:20:50Z gioyik quit (Ping timeout: 240 seconds) 2020-01-21T23:26:05Z gioyik joined #lisp 2020-01-21T23:30:30Z Bike joined #lisp 2020-01-21T23:32:12Z davsebamse joined #lisp 2020-01-21T23:34:02Z davsebam1e quit (Ping timeout: 240 seconds) 2020-01-21T23:37:12Z davsebam1e joined #lisp 2020-01-21T23:38:23Z davsebamse quit (Ping timeout: 265 seconds) 2020-01-21T23:42:55Z gabiruh quit (Ping timeout: 258 seconds) 2020-01-21T23:48:20Z davr0s quit (Remote host closed the connection) 2020-01-21T23:50:04Z anewuser joined #lisp 2020-01-21T23:50:23Z gioyik quit (Ping timeout: 268 seconds) 2020-01-21T23:54:53Z cosimone quit (Ping timeout: 245 seconds) 2020-01-21T23:55:57Z edgar-rft quit (Ping timeout: 258 seconds) 2020-01-21T23:57:19Z edgar-rft joined #lisp 2020-01-21T23:59:23Z madage quit (Ping timeout: 240 seconds) 2020-01-21T23:59:49Z davr0s_ joined #lisp 2020-01-21T23:59:50Z davr0s joined #lisp 2020-01-22T00:00:33Z libertyprime quit (Ping timeout: 258 seconds) 2020-01-22T00:01:14Z anewuser quit (Ping timeout: 240 seconds) 2020-01-22T00:01:29Z madage joined #lisp 2020-01-22T00:02:02Z Lord_of_Life_ joined #lisp 2020-01-22T00:03:02Z zclark quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-22T00:03:31Z quazimodo joined #lisp 2020-01-22T00:04:07Z Lord_of_Life quit (Ping timeout: 272 seconds) 2020-01-22T00:04:51Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-22T00:04:58Z nullman quit (Ping timeout: 265 seconds) 2020-01-22T00:05:34Z nullman joined #lisp 2020-01-22T00:06:45Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-22T00:09:40Z libertyprime joined #lisp 2020-01-22T00:10:07Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-22T00:10:57Z madage quit (Remote host closed the connection) 2020-01-22T00:11:15Z madage joined #lisp 2020-01-22T00:12:46Z slyrus_ joined #lisp 2020-01-22T00:14:34Z lavaflow quit (Quit: WeeChat 2.6) 2020-01-22T00:16:08Z slyrus quit (Ping timeout: 260 seconds) 2020-01-22T00:16:20Z wxie joined #lisp 2020-01-22T00:17:00Z gabiruh joined #lisp 2020-01-22T00:23:41Z smazga quit (Quit: leaving) 2020-01-22T00:28:23Z asdf_asdf_asdf quit (Ping timeout: 260 seconds) 2020-01-22T00:32:13Z emys quit (Quit: Leaving) 2020-01-22T00:33:26Z lavaflow joined #lisp 2020-01-22T00:35:54Z gigetoo quit (Ping timeout: 265 seconds) 2020-01-22T00:36:13Z ebrasca joined #lisp 2020-01-22T00:41:55Z jebes joined #lisp 2020-01-22T00:48:29Z gigetoo joined #lisp 2020-01-22T00:52:15Z ebrasca quit (Remote host closed the connection) 2020-01-22T00:52:53Z turona quit (Ping timeout: 272 seconds) 2020-01-22T00:53:07Z turona joined #lisp 2020-01-22T00:53:23Z oxum joined #lisp 2020-01-22T01:05:19Z gioyik joined #lisp 2020-01-22T01:09:47Z analogue joined #lisp 2020-01-22T01:13:46Z adolby quit (Ping timeout: 258 seconds) 2020-01-22T01:16:19Z orivej joined #lisp 2020-01-22T01:17:23Z adolby joined #lisp 2020-01-22T01:21:06Z cl-arthu1 joined #lisp 2020-01-22T01:21:20Z gioyik quit (Ping timeout: 265 seconds) 2020-01-22T01:23:55Z |Pirx| joined #lisp 2020-01-22T01:24:14Z cl-arthur quit (Ping timeout: 265 seconds) 2020-01-22T01:24:15Z asdf_asdf_asdf joined #lisp 2020-01-22T01:24:19Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-22T01:25:33Z __jrjsmrtn__ joined #lisp 2020-01-22T01:26:02Z _jrjsmrtn quit (Ping timeout: 258 seconds) 2020-01-22T01:26:10Z clothespin joined #lisp 2020-01-22T01:27:08Z shifty quit (Ping timeout: 265 seconds) 2020-01-22T01:27:16Z ebzzry joined #lisp 2020-01-22T01:39:23Z slyrus__ joined #lisp 2020-01-22T01:42:07Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-22T01:44:08Z v88m joined #lisp 2020-01-22T01:45:34Z karlosz joined #lisp 2020-01-22T01:47:55Z lavaflow quit (Ping timeout: 265 seconds) 2020-01-22T01:49:32Z slyrus joined #lisp 2020-01-22T01:50:38Z libertyprime quit (Ping timeout: 268 seconds) 2020-01-22T01:51:17Z libertyprime joined #lisp 2020-01-22T01:51:48Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-22T01:58:23Z eschulte quit (Ping timeout: 260 seconds) 2020-01-22T01:58:26Z adolby quit (Ping timeout: 240 seconds) 2020-01-22T02:02:38Z analogue quit (Quit: Leaving) 2020-01-22T02:04:03Z adolby joined #lisp 2020-01-22T02:04:23Z statusf90 joined #lisp 2020-01-22T02:04:23Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-22T02:13:18Z harovali joined #lisp 2020-01-22T02:14:20Z libertyprime quit (Ping timeout: 258 seconds) 2020-01-22T02:18:38Z ebzzry quit (Read error: Connection reset by peer) 2020-01-22T02:20:58Z gioyik joined #lisp 2020-01-22T02:26:06Z chocimir joined #lisp 2020-01-22T02:28:08Z davisr quit (Remote host closed the connection) 2020-01-22T02:28:26Z gioyik quit (Ping timeout: 240 seconds) 2020-01-22T02:32:19Z clothespin quit (Ping timeout: 272 seconds) 2020-01-22T02:40:32Z nullniverse joined #lisp 2020-01-22T02:43:03Z igemnace quit (Ping timeout: 268 seconds) 2020-01-22T02:44:19Z davr0s_ quit (Remote host closed the connection) 2020-01-22T02:44:19Z davr0s quit (Remote host closed the connection) 2020-01-22T02:46:08Z libertyprime joined #lisp 2020-01-22T02:47:05Z frgo_ joined #lisp 2020-01-22T02:47:31Z wxie quit (Ping timeout: 272 seconds) 2020-01-22T02:49:18Z frgo quit (Ping timeout: 265 seconds) 2020-01-22T02:51:13Z ahungry joined #lisp 2020-01-22T02:52:21Z hostile quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2020-01-22T02:53:29Z minion quit (Remote host closed the connection) 2020-01-22T02:53:40Z specbot quit (Remote host closed the connection) 2020-01-22T02:53:48Z easye quit (Read error: Connection reset by peer) 2020-01-22T02:54:43Z zooey quit (Ping timeout: 240 seconds) 2020-01-22T02:55:03Z sammich quit (Remote host closed the connection) 2020-01-22T02:55:37Z karlosz quit (Quit: karlosz) 2020-01-22T02:55:43Z madage quit (Ping timeout: 240 seconds) 2020-01-22T02:55:53Z karlosz joined #lisp 2020-01-22T02:56:04Z null_ptr quit (Ping timeout: 248 seconds) 2020-01-22T02:56:23Z cartwright quit (Ping timeout: 240 seconds) 2020-01-22T02:56:59Z igemnace joined #lisp 2020-01-22T02:57:41Z hostile joined #lisp 2020-01-22T02:59:37Z lavaflow joined #lisp 2020-01-22T03:04:38Z Bike quit (Quit: Lost terminal) 2020-01-22T03:06:42Z akoana joined #lisp 2020-01-22T03:09:23Z aindilis quit (Read error: Connection reset by peer) 2020-01-22T03:11:56Z zooey joined #lisp 2020-01-22T03:12:30Z slyrus quit (Ping timeout: 265 seconds) 2020-01-22T03:13:33Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-22T03:14:08Z karlosz quit (Quit: karlosz) 2020-01-22T03:14:24Z karlosz joined #lisp 2020-01-22T03:15:26Z cartwright joined #lisp 2020-01-22T03:15:44Z libertyprime quit (Ping timeout: 268 seconds) 2020-01-22T03:16:07Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-22T03:16:29Z aindilis joined #lisp 2020-01-22T03:16:51Z igemnace quit (Ping timeout: 265 seconds) 2020-01-22T03:17:13Z klltkr joined #lisp 2020-01-22T03:17:32Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-22T03:17:58Z |Pirx| quit (Remote host closed the connection) 2020-01-22T03:18:10Z madage joined #lisp 2020-01-22T03:25:12Z fe[nl]ix quit (Quit: No Ping reply in 180 seconds.) 2020-01-22T03:25:22Z Blkt_ quit (Remote host closed the connection) 2020-01-22T03:25:22Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-22T03:25:40Z hsaziz joined #lisp 2020-01-22T03:26:02Z adolby quit (Ping timeout: 265 seconds) 2020-01-22T03:26:03Z slyrus joined #lisp 2020-01-22T03:26:19Z adolby joined #lisp 2020-01-22T03:26:22Z specbot joined #lisp 2020-01-22T03:26:25Z null_ptr joined #lisp 2020-01-22T03:27:03Z frgo joined #lisp 2020-01-22T03:28:33Z minion joined #lisp 2020-01-22T03:29:24Z klltkr joined #lisp 2020-01-22T03:29:24Z klltkr quit (Client Quit) 2020-01-22T03:29:48Z frgo_ quit (Ping timeout: 260 seconds) 2020-01-22T03:30:23Z fe[nl]ix joined #lisp 2020-01-22T03:30:23Z ChanServ has set mode +o fe[nl]ix 2020-01-22T03:31:52Z Blkt joined #lisp 2020-01-22T03:31:57Z igemnace joined #lisp 2020-01-22T03:33:06Z hsaziz quit (Remote host closed the connection) 2020-01-22T03:37:29Z ealfonso joined #lisp 2020-01-22T03:43:41Z statusf90 quit (Quit: statusf90) 2020-01-22T03:45:02Z cartwright quit (Remote host closed the connection) 2020-01-22T03:46:53Z cartwright joined #lisp 2020-01-22T03:48:08Z xkapastel joined #lisp 2020-01-22T03:50:05Z cartwright quit (Read error: Connection reset by peer) 2020-01-22T03:52:00Z cartwright joined #lisp 2020-01-22T03:52:27Z gioyik joined #lisp 2020-01-22T03:58:49Z aindilis quit (Remote host closed the connection) 2020-01-22T04:03:12Z gioyik quit (Ping timeout: 258 seconds) 2020-01-22T04:08:19Z aindilis joined #lisp 2020-01-22T04:14:22Z froggey quit (Ping timeout: 265 seconds) 2020-01-22T04:16:07Z froggey joined #lisp 2020-01-22T04:17:15Z gabiruh quit (Quit: ZNC - 1.6.0 - http://znc.in) 2020-01-22T04:17:34Z gabiruh joined #lisp 2020-01-22T04:17:48Z Codaraxis joined #lisp 2020-01-22T04:19:52Z ealfonso: is there a recommended websockets client library? I tried websocket-driver, which works for ws, but for wss fails with this error: "error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version". Could this be a "websocket-driver" issue or a cl+ssl one? 2020-01-22T04:22:11Z rumbler31 quit (Read error: Connection reset by peer) 2020-01-22T04:22:24Z rumbler31 joined #lisp 2020-01-22T04:24:42Z adolby quit (Remote host closed the connection) 2020-01-22T04:25:58Z adolby joined #lisp 2020-01-22T04:27:04Z libertyprime joined #lisp 2020-01-22T04:27:32Z no-defun-allowed: There is only one websocket client to my knowledge (though I had planned to write one a long time ago). 2020-01-22T04:28:44Z no-defun-allowed: I think that means that the client and server can't negotiate a SSL/TLS version. 2020-01-22T04:30:08Z ealfonso: no-defun-allowed I know, but... what should I do? 2020-01-22T04:30:24Z no-defun-allowed: Some people (using other languages, but still using SSL) suggest you could update your version of the OpenSSL library. 2020-01-22T04:35:52Z ealfonso: the thing is that I don't know which one is the problematic version. I've tried other non-CL ws libraries on my system (e.g. python, etc) and they work. My openssl version is "OpenSSL 1.1.1d 10 Sep 2019", which seems recent. 2020-01-22T04:37:14Z no-defun-allowed: Right. Maybe you need to give it a larger set of protocols it is allowed to use. I forgot how you configure that though; it's quite awful in my opinion. 2020-01-22T04:40:22Z ealfonso: there's also someone using plain usocket for websocket: https://stackoverflow.com/questions/25608424/websocket-client-in-common-lisp-with-usocket-library but that probably doesn't help me with wss either. I could probably just fall-back to a command-line client 2020-01-22T04:42:41Z quazimodo quit (Ping timeout: 258 seconds) 2020-01-22T04:42:55Z quazimodo joined #lisp 2020-01-22T04:49:28Z gioyik joined #lisp 2020-01-22T04:52:03Z libertyprime quit (Ping timeout: 260 seconds) 2020-01-22T04:52:15Z gravicappa joined #lisp 2020-01-22T04:53:00Z libertyprime joined #lisp 2020-01-22T04:54:20Z libertyprime quit (Read error: Connection reset by peer) 2020-01-22T04:58:02Z libertyprime joined #lisp 2020-01-22T05:04:57Z ealfonso quit (Ping timeout: 272 seconds) 2020-01-22T05:06:52Z adolby quit (Remote host closed the connection) 2020-01-22T05:08:12Z adolby joined #lisp 2020-01-22T05:09:43Z harovali1 joined #lisp 2020-01-22T05:10:43Z harovali quit (Ping timeout: 260 seconds) 2020-01-22T05:11:41Z igemnace quit (Ping timeout: 265 seconds) 2020-01-22T05:13:21Z slyrus quit (Ping timeout: 258 seconds) 2020-01-22T05:16:48Z ealfonso joined #lisp 2020-01-22T05:22:04Z asarch joined #lisp 2020-01-22T05:22:19Z copec: How many people are using Sly these days? 2020-01-22T05:22:24Z Josh_2: I'm using it 2020-01-22T05:24:24Z aeth: at least one 2020-01-22T05:24:52Z aeth: That's the lower bound. The upper bound is easier, let's pick a million. 2020-01-22T05:24:57Z igemnace joined #lisp 2020-01-22T05:25:11Z copec: well, I'm probably behind the times 2020-01-22T05:26:10Z copec: Nobody mentioned that Sly is the new Slime in the TPS Reports. 2020-01-22T05:27:32Z libertyprime quit (Ping timeout: 258 seconds) 2020-01-22T05:27:53Z aeth: I use SLIME so SLIME still has at least one user 2020-01-22T05:29:27Z libertyprime joined #lisp 2020-01-22T05:34:34Z oxum quit (Remote host closed the connection) 2020-01-22T05:37:33Z copec: How do I get quicklisp/asdf to look under the paths again without restarting lisp? 2020-01-22T05:38:00Z beach: Good morning everyone! 2020-01-22T05:38:01Z Josh_2: push paths to asdf:*central-registry* ? 2020-01-22T05:38:07Z Josh_2: morning beach! 2020-01-22T05:38:28Z malfort_ joined #lisp 2020-01-22T05:39:18Z bkst joined #lisp 2020-01-22T05:39:28Z copec: Good morning! 2020-01-22T05:39:48Z ealfonso quit (Remote host closed the connection) 2020-01-22T05:41:02Z ahungry: what does Sly offer over Slime? 2020-01-22T05:41:12Z Josh_2: #v syntax in repl which is SWEET 2020-01-22T05:41:33Z Josh_2: stickers as well, although I could never get that to work so I don't use them xD 2020-01-22T05:41:49Z malfort quit (Ping timeout: 268 seconds) 2020-01-22T05:41:49Z bkst_ quit (Ping timeout: 268 seconds) 2020-01-22T05:42:32Z Josh_2: ahungry: https://imgur.com/emlGBrJ.png 2020-01-22T05:43:32Z copec: There are obligatory animated gifs https://github.com/joaotavora/sly 2020-01-22T05:45:09Z ahungry: neat, what is #v syntax? Something like *1 and *2 in clojure/cider? (a reference to the last evaluated thing?) 2020-01-22T05:47:23Z Josh_2: perhaps 2020-01-22T05:47:57Z Josh_2: it lets you reference repl values all the way up to when you started your session 2020-01-22T05:48:04Z Josh_2: I find it very helpful 2020-01-22T05:50:29Z ahungry: very nice, it is the same type of thing 2020-01-22T05:50:50Z adolby quit (Ping timeout: 265 seconds) 2020-01-22T05:51:19Z adolby joined #lisp 2020-01-22T05:52:44Z oxum joined #lisp 2020-01-22T05:53:10Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-22T05:53:12Z brown121408 joined #lisp 2020-01-22T05:59:02Z X-Scale` joined #lisp 2020-01-22T06:00:18Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-22T06:00:19Z X-Scale` is now known as X-Scale 2020-01-22T06:01:00Z libertyprime quit (Ping timeout: 268 seconds) 2020-01-22T06:04:38Z ealfonso joined #lisp 2020-01-22T06:04:41Z wxie joined #lisp 2020-01-22T06:07:05Z shangul joined #lisp 2020-01-22T06:07:15Z libertyprime joined #lisp 2020-01-22T06:11:07Z ggole joined #lisp 2020-01-22T06:15:00Z adolby quit (Remote host closed the connection) 2020-01-22T06:15:29Z X-Scale` joined #lisp 2020-01-22T06:15:51Z ebzzry joined #lisp 2020-01-22T06:15:59Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-22T06:16:16Z adolby joined #lisp 2020-01-22T06:16:28Z ahungry quit (Remote host closed the connection) 2020-01-22T06:16:50Z X-Scale` is now known as X-Scale 2020-01-22T06:27:15Z akoana left #lisp 2020-01-22T06:27:51Z sauvin joined #lisp 2020-01-22T06:35:32Z adolby quit (Ping timeout: 268 seconds) 2020-01-22T06:36:15Z adolby joined #lisp 2020-01-22T06:36:32Z space_otter joined #lisp 2020-01-22T06:37:02Z ealfonso quit (Remote host closed the connection) 2020-01-22T06:44:02Z oxum quit (Ping timeout: 240 seconds) 2020-01-22T06:44:51Z oxum joined #lisp 2020-01-22T06:45:18Z nalik891 joined #lisp 2020-01-22T06:46:58Z nullniverse quit (Ping timeout: 260 seconds) 2020-01-22T06:48:57Z Cymew joined #lisp 2020-01-22T06:51:20Z dddddd joined #lisp 2020-01-22T07:04:24Z pjb: AFAIK, there's only 1 sly user. 2020-01-22T07:07:10Z adolby quit (Ping timeout: 268 seconds) 2020-01-22T07:07:27Z adolby joined #lisp 2020-01-22T07:07:42Z pjb: Josh_2: you mean in sly they deleted presentations? 2020-01-22T07:09:28Z oxum quit (Read error: Connection reset by peer) 2020-01-22T07:09:48Z oxum_ joined #lisp 2020-01-22T07:10:34Z oxum joined #lisp 2020-01-22T07:10:35Z oxum_ quit (Read error: Connection reset by peer) 2020-01-22T07:10:55Z oxum quit (Read error: Connection reset by peer) 2020-01-22T07:11:19Z oxum joined #lisp 2020-01-22T07:11:55Z Necktwi_ joined #lisp 2020-01-22T07:13:24Z Josh_2: Huh? 2020-01-22T07:14:08Z elderK joined #lisp 2020-01-22T07:14:16Z elderK quit (Client Quit) 2020-01-22T07:18:21Z oxum quit (Read error: Connection reset by peer) 2020-01-22T07:18:30Z oxum joined #lisp 2020-01-22T07:20:08Z karlosz quit (Quit: karlosz) 2020-01-22T07:20:12Z pjb: Josh_2: since this slime features allows you already to refer to any previous result, they must have REPLACED it by #v? 2020-01-22T07:21:59Z no-defun-allowed: Well, they could have kept both, but presentations are cooler. 2020-01-22T07:22:51Z karlosz joined #lisp 2020-01-22T07:23:17Z vlatkoB joined #lisp 2020-01-22T07:25:39Z Nilby quit (Read error: Connection reset by peer) 2020-01-22T07:27:49Z cl-arthu1: I think both presentations and #v syntax are present in sly, but not 100% sure. 2020-01-22T07:29:21Z no-defun-allowed: Though, I think there weren't presentations when I tried SLY. 2020-01-22T07:35:47Z knicklux joined #lisp 2020-01-22T07:39:20Z jprajzne joined #lisp 2020-01-22T07:39:20Z cl-arthu1 quit (Read error: Connection reset by peer) 2020-01-22T07:41:53Z dale quit (Quit: My computer has gone to sleep) 2020-01-22T07:44:02Z gxt joined #lisp 2020-01-22T07:47:19Z hiroaki quit (Ping timeout: 265 seconds) 2020-01-22T07:47:57Z asarch quit (Quit: Leaving) 2020-01-22T07:50:11Z flamebeard joined #lisp 2020-01-22T07:51:39Z varjag joined #lisp 2020-01-22T07:57:48Z adolby quit (Ping timeout: 258 seconds) 2020-01-22T07:58:07Z adolby joined #lisp 2020-01-22T08:01:00Z Roland2 joined #lisp 2020-01-22T08:01:38Z orivej quit (Ping timeout: 258 seconds) 2020-01-22T08:02:02Z chocimir quit (Ping timeout: 240 seconds) 2020-01-22T08:07:38Z adolby quit (Ping timeout: 240 seconds) 2020-01-22T08:07:54Z adolby joined #lisp 2020-01-22T08:08:02Z dddddd quit (Ping timeout: 268 seconds) 2020-01-22T08:11:44Z wxie quit (Ping timeout: 268 seconds) 2020-01-22T08:13:35Z scymtym joined #lisp 2020-01-22T08:13:54Z knicklux quit (Quit: Leaving) 2020-01-22T08:21:09Z dddddd joined #lisp 2020-01-22T08:34:04Z karlosz quit (Quit: karlosz) 2020-01-22T08:35:19Z trittweiler quit (Remote host closed the connection) 2020-01-22T08:36:29Z wxie joined #lisp 2020-01-22T08:38:04Z mingus joined #lisp 2020-01-22T08:40:22Z trittweiler joined #lisp 2020-01-22T08:41:45Z Necktwi quit (Read error: Connection reset by peer) 2020-01-22T08:46:17Z longshi joined #lisp 2020-01-22T08:46:51Z tiwEllien joined #lisp 2020-01-22T08:46:56Z Necktwi joined #lisp 2020-01-22T08:49:43Z gioyik quit (Quit: WeeChat 2.7) 2020-01-22T08:51:36Z frgo quit (Remote host closed the connection) 2020-01-22T08:53:37Z space_otter quit (Remote host closed the connection) 2020-01-22T08:54:31Z pnp joined #lisp 2020-01-22T08:57:38Z pnp: Hi all. How is possible to move with Emacs + slime inside nested groups of parenthesis? If possible i would like to navigate Lisp code without using the mouse or the arrows keys 2020-01-22T08:57:57Z jackdaniel: pnp: check out "paredit" mode for emacs 2020-01-22T08:58:15Z pnp: yes...i installed paredit 2020-01-22T08:58:21Z jackdaniel: it may feel a bit quirky at start, but once your fingers get used to it it is a very useful aid 2020-01-22T08:58:35Z ralt joined #lisp 2020-01-22T08:59:03Z pnp: ok jackdaniel, i'm reading here: http://wikemacs.org/wiki/Paredit-mode 2020-01-22T08:59:07Z pnp: all fine 2020-01-22T08:59:12Z pnp: is working 2020-01-22T09:01:28Z pnp: now if i'm looking that there is the go up command C-M-u but i don't find the command to do the inverse 2020-01-22T09:01:58Z pnp: ok found is simply ) 2020-01-22T09:02:59Z oxum quit (Read error: Connection reset by peer) 2020-01-22T09:03:04Z oxum_ joined #lisp 2020-01-22T09:04:14Z pnp left #lisp 2020-01-22T09:06:23Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-22T09:07:45Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-22T09:08:00Z hhdave joined #lisp 2020-01-22T09:09:05Z adolby quit (Ping timeout: 268 seconds) 2020-01-22T09:09:22Z adolby joined #lisp 2020-01-22T09:12:05Z william1_ joined #lisp 2020-01-22T09:13:00Z davepdotorg joined #lisp 2020-01-22T09:18:03Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-01-22T09:20:11Z wxie quit (Ping timeout: 268 seconds) 2020-01-22T09:24:26Z frgo joined #lisp 2020-01-22T09:26:26Z oxum_ quit (Read error: Connection reset by peer) 2020-01-22T09:26:32Z oxum joined #lisp 2020-01-22T09:26:53Z oxum quit (Read error: Connection reset by peer) 2020-01-22T09:27:14Z oxum joined #lisp 2020-01-22T09:29:39Z oxum quit (Read error: Connection reset by peer) 2020-01-22T09:30:05Z oxum joined #lisp 2020-01-22T09:38:15Z montaropdf joined #lisp 2020-01-22T09:49:25Z libertyprime quit (Remote host closed the connection) 2020-01-22T09:49:48Z dilated_dinosaur joined #lisp 2020-01-22T09:51:03Z Necktwi_ quit (Ping timeout: 265 seconds) 2020-01-22T09:52:15Z frgo_ joined #lisp 2020-01-22T09:52:31Z frgo quit (Read error: Connection reset by peer) 2020-01-22T10:04:41Z frgo_ quit (Ping timeout: 258 seconds) 2020-01-22T10:05:52Z shrdlu68 joined #lisp 2020-01-22T10:06:19Z jmercouris joined #lisp 2020-01-22T10:08:16Z adolby quit (Remote host closed the connection) 2020-01-22T10:09:15Z bendersteed quit (Remote host closed the connection) 2020-01-22T10:09:30Z adolby joined #lisp 2020-01-22T10:10:00Z shrdlu68: I want to iterate over a range of integers while skipping some. Would using the series package be more efficient than a simple loop? 2020-01-22T10:10:56Z montaropdf: Wouldn't it be better to first filter your list with something like remove-if? 2020-01-22T10:12:58Z phoe: shrdlu68: (loop for i in list when (foo-p i) do ...) 2020-01-22T10:13:20Z montaropdf: phoe: that works too ;) 2020-01-22T10:13:22Z phoe: where FOO-P is a predicate that returns true if the number should be iterated on 2020-01-22T10:13:34Z amerlyq joined #lisp 2020-01-22T10:13:43Z shrdlu68: Language fails me - I meant more like collect. 2020-01-22T10:13:59Z phoe: shrdlu68: (loop for i in list when (foo-p i) collect i) 2020-01-22T10:14:06Z phoe: where FOO-P is a predicate that returns true if the number should be collected 2020-01-22T10:14:23Z shrdlu68: Sure, but would using the series package be more efficient? 2020-01-22T10:14:34Z phoe: oh right - you've asked that 2020-01-22T10:14:36Z phoe: I need to wake up 2020-01-22T10:14:43Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-22T10:14:48Z phoe: no idea - I haven't used SERIES at all 2020-01-22T10:16:18Z orivej joined #lisp 2020-01-22T10:16:23Z longshi quit (Ping timeout: 265 seconds) 2020-01-22T10:16:38Z shrdlu68: I suppose I have to test it myself. 2020-01-22T10:17:56Z adolby quit (Read error: Connection reset by peer) 2020-01-22T10:18:33Z Lord_of_Life joined #lisp 2020-01-22T10:19:10Z adolby joined #lisp 2020-01-22T10:20:27Z xkapastel joined #lisp 2020-01-22T10:21:42Z nalik891 quit (Ping timeout: 265 seconds) 2020-01-22T10:22:36Z adolby quit (Remote host closed the connection) 2020-01-22T10:23:50Z adolby joined #lisp 2020-01-22T10:24:38Z m00natic joined #lisp 2020-01-22T10:25:05Z longshi joined #lisp 2020-01-22T10:30:56Z frgo joined #lisp 2020-01-22T10:33:01Z longshi quit (Ping timeout: 272 seconds) 2020-01-22T10:46:42Z longshi joined #lisp 2020-01-22T10:47:06Z capitaomorte joined #lisp 2020-01-22T10:47:46Z adolby quit (Remote host closed the connection) 2020-01-22T10:47:48Z capitaomorte: Hello all. My friend Arthur tells me there was some SLY questions here. I can answer a couple if you wish. 2020-01-22T10:49:42Z phoe: A user named ahungry had some sly questions, but they left 2020-01-22T10:50:40Z adolby joined #lisp 2020-01-22T10:51:47Z capitaomorte: Thanks. If you see him/her, please tell him it's ok to open simple question issues on github. 2020-01-22T10:53:09Z capitaomorte: bye! 2020-01-22T10:53:15Z capitaomorte left #lisp 2020-01-22T11:00:01Z cosimone joined #lisp 2020-01-22T11:02:08Z z147 joined #lisp 2020-01-22T11:02:34Z davepdotorg quit (Ping timeout: 258 seconds) 2020-01-22T11:02:50Z davepdotorg joined #lisp 2020-01-22T11:03:33Z william1_ quit (Ping timeout: 265 seconds) 2020-01-22T11:04:45Z ioa: Hi lispers. Three more weeks to paper submission deadline for the ELS2020: https://european-lisp-symposium.org/2020 2020-01-22T11:05:33Z klltkr joined #lisp 2020-01-22T11:16:11Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-22T11:20:02Z Josh_2 quit (Ping timeout: 240 seconds) 2020-01-22T11:20:33Z beach: ioa: Thanks for the reminder. I'm on it! :) 2020-01-22T11:21:51Z ioa: Happy to know, beach! :) 2020-01-22T11:30:43Z beach: I never disappoint. :) 2020-01-22T11:38:58Z adolby quit (Read error: Connection reset by peer) 2020-01-22T11:38:59Z klltkr joined #lisp 2020-01-22T11:40:07Z adolby joined #lisp 2020-01-22T11:48:10Z Finnfinn_oops quit (Quit: The humanity!) 2020-01-22T11:49:35Z z147 quit (Remote host closed the connection) 2020-01-22T11:50:07Z z147 joined #lisp 2020-01-22T11:51:52Z ljavorsk joined #lisp 2020-01-22T11:54:11Z davepdotorg quit (Remote host closed the connection) 2020-01-22T11:55:32Z davepdotorg joined #lisp 2020-01-22T11:57:48Z hsaziz joined #lisp 2020-01-22T11:58:31Z davepdo__ joined #lisp 2020-01-22T12:02:02Z mingus quit (Ping timeout: 265 seconds) 2020-01-22T12:02:22Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-22T12:02:33Z ljavorsk quit (Ping timeout: 260 seconds) 2020-01-22T12:03:58Z quazimodo quit (Ping timeout: 265 seconds) 2020-01-22T12:07:29Z hsaziz quit (Ping timeout: 268 seconds) 2020-01-22T12:09:33Z brown121408 quit (Read error: Connection reset by peer) 2020-01-22T12:09:39Z jonatack quit (Ping timeout: 246 seconds) 2020-01-22T12:10:31Z brown121408 joined #lisp 2020-01-22T12:10:56Z igemnace quit (Quit: WeeChat 2.7) 2020-01-22T12:11:04Z quazimodo joined #lisp 2020-01-22T12:12:25Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-22T12:16:17Z gko_ joined #lisp 2020-01-22T12:20:44Z refpga joined #lisp 2020-01-22T12:23:05Z cosimone quit (Quit: Terminated!) 2020-01-22T12:23:17Z brown121408 quit (Read error: Connection reset by peer) 2020-01-22T12:23:22Z shifty joined #lisp 2020-01-22T12:23:33Z brown121407 joined #lisp 2020-01-22T12:27:20Z gabiruh_ joined #lisp 2020-01-22T12:27:22Z refpga quit (Ping timeout: 260 seconds) 2020-01-22T12:29:46Z nika_ joined #lisp 2020-01-22T12:29:47Z gabiruh quit (Ping timeout: 265 seconds) 2020-01-22T12:31:58Z Nilby joined #lisp 2020-01-22T12:34:46Z mingus joined #lisp 2020-01-22T12:38:17Z jonatack joined #lisp 2020-01-22T12:38:39Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-22T12:39:50Z montaropdf quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-22T12:40:38Z Necktwi quit (Read error: Connection reset by peer) 2020-01-22T12:40:55Z Necktwi joined #lisp 2020-01-22T12:47:52Z bitmapper joined #lisp 2020-01-22T12:52:31Z malfort_ quit (Quit: Leaving) 2020-01-22T12:52:58Z mingus` joined #lisp 2020-01-22T12:53:19Z malfort joined #lisp 2020-01-22T12:57:25Z mingus quit (Ping timeout: 272 seconds) 2020-01-22T12:58:53Z montaropdf joined #lisp 2020-01-22T12:59:11Z wxie joined #lisp 2020-01-22T13:00:44Z notzmv joined #lisp 2020-01-22T13:08:27Z montaropdf quit (Remote host closed the connection) 2020-01-22T13:08:46Z asdf_asdf_asdf joined #lisp 2020-01-22T13:09:54Z orivej quit (Ping timeout: 265 seconds) 2020-01-22T13:15:21Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-22T13:15:33Z ebzzry joined #lisp 2020-01-22T13:17:18Z mingus`` joined #lisp 2020-01-22T13:18:37Z mingus`` quit (Client Quit) 2020-01-22T13:20:13Z pjb: minion: memo for emaczen: ARM Assembler in Lisp http://www.ulisp.com/show?2XZH 2020-01-22T13:20:13Z minion: Remembered. I'll tell emaczen when he/she/it next speaks. 2020-01-22T13:20:27Z statusf90 joined #lisp 2020-01-22T13:21:29Z mingus` quit (Ping timeout: 268 seconds) 2020-01-22T13:21:58Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-01-22T13:26:21Z jeosol quit (Remote host closed the connection) 2020-01-22T13:26:31Z papachan joined #lisp 2020-01-22T13:28:53Z wxie quit (Ping timeout: 260 seconds) 2020-01-22T13:28:53Z adolby quit (Ping timeout: 268 seconds) 2020-01-22T13:29:15Z adolby joined #lisp 2020-01-22T13:35:16Z montaropdf joined #lisp 2020-01-22T13:38:30Z cosimone joined #lisp 2020-01-22T13:48:57Z z147x joined #lisp 2020-01-22T13:49:20Z z147 quit (Remote host closed the connection) 2020-01-22T13:49:29Z Bike joined #lisp 2020-01-22T13:49:32Z beach: Nilby: If you want to be acknowledged for helping me find information about SBCL breakpoints, I need to know how you would like your name to appear. You can give it here, or send it by email. 2020-01-22T13:54:56Z tiwEllien joined #lisp 2020-01-22T13:57:10Z Nilby: beach: Thank you, but I don't like to be acknowledged. You can take any credit. 2020-01-22T13:57:31Z beach: OK, as you wish. 2020-01-22T13:59:51Z _fe_ joined #lisp 2020-01-22T14:00:42Z asdf_asdf_asdf: Hi. How coerced value from (read) to type alien? 2020-01-22T14:00:45Z nullman quit (Ping timeout: 272 seconds) 2020-01-22T14:01:31Z nullman joined #lisp 2020-01-22T14:04:57Z ck_: asdf_asdf_asdf: I think you just try to coerced value as best as you can. But more seriously, this sounds like a question for #sbcl. 2020-01-22T14:06:05Z statusf90 quit (Quit: statusf90) 2020-01-22T14:06:11Z _fe_ quit (Quit: Leaving) 2020-01-22T14:08:02Z orivej joined #lisp 2020-01-22T14:08:47Z Roland2 quit (Quit: Leaving.) 2020-01-22T14:15:23Z asdf_asdf_asdf: OK. 2020-01-22T14:17:22Z oxum_ joined #lisp 2020-01-22T14:19:11Z LiamH joined #lisp 2020-01-22T14:20:31Z mn3m joined #lisp 2020-01-22T14:20:41Z oxum quit (Ping timeout: 268 seconds) 2020-01-22T14:20:43Z amerlyq quit (Quit: amerlyq) 2020-01-22T14:21:01Z amerlyq joined #lisp 2020-01-22T14:21:25Z hiroaki joined #lisp 2020-01-22T14:21:58Z oxum_ quit (Ping timeout: 260 seconds) 2020-01-22T14:27:29Z oxum joined #lisp 2020-01-22T14:27:46Z jprajzne quit (Quit: Leaving.) 2020-01-22T14:38:01Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-22T14:41:00Z nullman quit (Remote host closed the connection) 2020-01-22T14:41:28Z nullman joined #lisp 2020-01-22T14:44:19Z lucasb joined #lisp 2020-01-22T14:44:49Z refpga joined #lisp 2020-01-22T14:46:45Z seok quit (Remote host closed the connection) 2020-01-22T14:47:22Z seok joined #lisp 2020-01-22T14:51:59Z refpga: Hello, how does one send whois queries using lisp? 2020-01-22T14:53:45Z dlowe: one looks up the protocol and uses a network socket library (like usocket) to implement the protocl 2020-01-22T14:53:49Z adolby quit (Ping timeout: 265 seconds) 2020-01-22T14:53:53Z Xach: refpga: one easy way is (run-program "whois" string) 2020-01-22T14:53:58Z dlowe: iirc, the protocol is actually pretty simple 2020-01-22T14:54:01Z dlowe: or that :p 2020-01-22T14:54:07Z pjb: (uiop:run-program "whois foo" :output :string) 2020-01-22T14:54:14Z adolby joined #lisp 2020-01-22T14:54:25Z dlowe: one word of warning: they clamp down hard on automated whois queries 2020-01-22T14:54:42Z dlowe: I have an ip address that I think is just permabanned from whois servers. 2020-01-22T14:54:49Z EvW joined #lisp 2020-01-22T14:55:02Z klm2is joined #lisp 2020-01-22T15:00:09Z dddddd quit (Ping timeout: 268 seconds) 2020-01-22T15:00:59Z adolby quit (Read error: Connection reset by peer) 2020-01-22T15:02:29Z adolby joined #lisp 2020-01-22T15:04:17Z EvW quit (Ping timeout: 260 seconds) 2020-01-22T15:10:28Z sjl_ joined #lisp 2020-01-22T15:11:36Z efm joined #lisp 2020-01-22T15:12:12Z flamebeard quit 2020-01-22T15:12:57Z dddddd joined #lisp 2020-01-22T15:13:18Z ebrasca joined #lisp 2020-01-22T15:13:46Z EvW joined #lisp 2020-01-22T15:16:32Z rippa joined #lisp 2020-01-22T15:21:22Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-22T15:23:37Z tiwEllien joined #lisp 2020-01-22T15:24:26Z v88m quit (Ping timeout: 240 seconds) 2020-01-22T15:24:51Z william1_ joined #lisp 2020-01-22T15:26:30Z nika_ quit (Read error: Connection reset by peer) 2020-01-22T15:26:55Z nika_ joined #lisp 2020-01-22T15:35:46Z klm2is quit (Quit: Leaving) 2020-01-22T15:36:36Z scymtym quit (Ping timeout: 248 seconds) 2020-01-22T15:38:41Z asdf_asdf_asdf joined #lisp 2020-01-22T15:44:30Z swills quit (Quit: swills) 2020-01-22T15:45:02Z raghavgururajan joined #lisp 2020-01-22T15:48:14Z shrdlu68 quit (Ping timeout: 265 seconds) 2020-01-22T15:48:23Z mn3m quit (Quit: mn3m) 2020-01-22T15:49:18Z william1_ quit (Ping timeout: 258 seconds) 2020-01-22T15:49:58Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-22T15:51:35Z EvW quit (Ping timeout: 272 seconds) 2020-01-22T15:53:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-22T15:54:07Z zekus_ joined #lisp 2020-01-22T15:55:08Z jmercouris: can someone please remind me how to break from a loop and return the element that is true for some predicate? 2020-01-22T15:56:05Z Bike: "when (predicate thing) return thing"? 2020-01-22T15:56:14Z jmercouris: is there not another form? 2020-01-22T15:56:18Z galdor: FIND-IF ? 2020-01-22T15:56:26Z jmercouris: is it just (loop for element in list when (predicate x) return y)? 2020-01-22T15:56:26Z ebrasca: always/never ? 2020-01-22T15:56:33Z Shinmera: thereis 2020-01-22T15:56:41Z Shinmera: but it won't return the element, if I remember correctly. 2020-01-22T15:56:47Z jmercouris: FIND-IF... that could be a good idea 2020-01-22T15:56:56Z jmercouris: but I don't think I can find-if across a hash table 2020-01-22T15:57:01Z Bike: Oh, if that's the entire loop you could just do (some predicate list) 2020-01-22T15:57:06Z Bike: find-if doesn't work on hash tables, no 2020-01-22T15:57:40Z jmercouris: Bike: what is (some-predicate list)? 2020-01-22T15:57:40Z Bike: and thereis apparently does return the element, so that works too, but it'll be the value returned by the predicate. 2020-01-22T15:57:44Z Bike: clhs some 2020-01-22T15:57:44Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_everyc.htm 2020-01-22T15:58:07Z Bike: no wait, i thought that returns the element but it doesn't 2020-01-22T15:58:11Z Bike: nevermind 2020-01-22T15:58:22Z Bike: forget my own head next... 2020-01-22T15:58:34Z jmercouris: OK 2020-01-22T15:58:48Z Bike: so yeah, probably the first thing i said. unless that's a problem for some reason? 2020-01-22T15:58:48Z jmercouris: let us say this, how to go through values in hash table and check for predicate and return first value that matches 2020-01-22T15:59:02Z Bike: you can loop over a hash table with loop 2020-01-22T15:59:02Z jmercouris: so, is what I said true then? 2020-01-22T15:59:06Z Bike: though i can never remember the syntax 2020-01-22T15:59:17Z Bike: loop for x being the values of table, or something 2020-01-22T15:59:19Z jmercouris: same, but I have an example 2020-01-22T15:59:31Z zekus_ left #lisp 2020-01-22T15:59:31Z galdor: CATCH + MAPHASH + THROW should work 2020-01-22T15:59:34Z jmercouris: and you can do when (predicate-x x) (return element)? 2020-01-22T15:59:39Z galdor: LOOP + RETURN if you can remember the syntax 2020-01-22T15:59:58Z jmercouris: let me just try with a simple sequence first 2020-01-22T16:00:16Z Bike: "when (predicate x) return x". return is a loop keyword 2020-01-22T16:00:30Z jmercouris: OK that's basically what I was trying to figure out 2020-01-22T16:00:33Z galdor: generally speaking, if you need to regularly find a specific value in a hash table, I'm not sure the hash table is not the right data structure 2020-01-22T16:00:43Z jmercouris: it is rare that I have to do so 2020-01-22T16:00:47Z Bike: you could also do "when (predicate x) do (return x)" 2020-01-22T16:00:54Z jmercouris: it is for a sanitation function that checks the state of the objects in the hash table 2020-01-22T16:01:07Z jmercouris: Bike: would that not keep looping though? 2020-01-22T16:01:19Z jmercouris: or does (return x) break? 2020-01-22T16:01:21Z Shinmera: you can also just 'do (when x (return y))' like anything else. 2020-01-22T16:01:32Z jmercouris: ah, OK, thank you all 2020-01-22T16:03:12Z Bike: i recommend going through and macroexpanding a loop some time 2020-01-22T16:03:25Z Bike: your implementation will go and put in a bunch of weird shit, but usually you can get it down to a simple form 2020-01-22T16:03:33Z Bike: makes loop much less mysterious 2020-01-22T16:04:19Z jmercouris: I will try to do that 2020-01-22T16:04:40Z swills joined #lisp 2020-01-22T16:05:18Z Bike: though it might still be kind of weird in the end with hash tables, since with-hash-table-iterator is kind of weird. 2020-01-22T16:07:11Z shangul quit (Ping timeout: 268 seconds) 2020-01-22T16:07:22Z chocimir joined #lisp 2020-01-22T16:12:07Z jonatack quit (Ping timeout: 268 seconds) 2020-01-22T16:15:30Z gko_ quit (Ping timeout: 265 seconds) 2020-01-22T16:18:12Z dale_ joined #lisp 2020-01-22T16:18:36Z dale_ is now known as dale 2020-01-22T16:18:54Z mathrick quit (Ping timeout: 268 seconds) 2020-01-22T16:20:36Z EvW1 joined #lisp 2020-01-22T16:22:20Z mathrick joined #lisp 2020-01-22T16:24:45Z v0|d joined #lisp 2020-01-22T16:27:23Z Cymew quit (Ping timeout: 260 seconds) 2020-01-22T16:30:40Z montaropdf quit (Quit: See you later) 2020-01-22T16:32:37Z tiwEllien quit (Ping timeout: 258 seconds) 2020-01-22T16:37:06Z narimiran joined #lisp 2020-01-22T16:38:31Z random-nick joined #lisp 2020-01-22T16:39:38Z shrdlu68 joined #lisp 2020-01-22T16:40:34Z ggole quit (Quit: Leaving) 2020-01-22T16:41:45Z turona quit (Quit: ...) 2020-01-22T16:43:03Z turona joined #lisp 2020-01-22T16:44:30Z v88m joined #lisp 2020-01-22T16:45:28Z dru1d quit (Ping timeout: 260 seconds) 2020-01-22T16:46:41Z frgo quit (Ping timeout: 272 seconds) 2020-01-22T16:48:28Z jonatack joined #lisp 2020-01-22T16:50:50Z longshi quit (Ping timeout: 240 seconds) 2020-01-22T16:56:29Z asdf_asdf_asdf: Hi. How get type from var in Common Lisp? 2020-01-22T16:56:42Z v88m quit (Ping timeout: 268 seconds) 2020-01-22T16:56:47Z beach: Variables don't have types. Objects do. 2020-01-22T16:57:02Z asdf_asdf_asdf: :type (type-of obj) 2020-01-22T16:57:07Z asdf_asdf_asdf: Yes, object. 2020-01-22T16:57:28Z beach: So what is it that you want? 2020-01-22T16:57:37Z phoe: (type-of x) 2020-01-22T16:57:59Z beach: Most objects can have many types, some even an infinite number. 2020-01-22T17:00:39Z sjl_: *every* object can trivially have an infinite number of types of the form `(or actual-type (member 1 2 3 ...))` 2020-01-22T17:00:55Z asdf_asdf_asdf: (alien-size (type-of ptr) :bytes) ; error 2020-01-22T17:00:55Z beach: True. 2020-01-22T17:01:29Z jmercouris: is asdf_asdf_asdf fare? 2020-01-22T17:01:35Z beach: No. 2020-01-22T17:02:00Z jmercouris: OK 2020-01-22T17:02:12Z beach: asdf_asdf_asdf: I strongly recommend that you program in Common Lisp instead. 2020-01-22T17:03:38Z Nilby: I'm thankful that everything is of type T. 2020-01-22T17:05:11Z longshi joined #lisp 2020-01-22T17:09:59Z harovali joined #lisp 2020-01-22T17:11:19Z chocimir quit (Ping timeout: 268 seconds) 2020-01-22T17:11:43Z harovali1 quit (Ping timeout: 260 seconds) 2020-01-22T17:12:06Z davepdo__ quit (Remote host closed the connection) 2020-01-22T17:15:01Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-22T17:20:56Z tiwEllien joined #lisp 2020-01-22T17:24:39Z heisig joined #lisp 2020-01-22T17:24:57Z ealfonso joined #lisp 2020-01-22T17:27:14Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-22T17:31:19Z X-Scale` joined #lisp 2020-01-22T17:33:18Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-22T17:33:19Z X-Scale` is now known as X-Scale 2020-01-22T17:35:21Z hhdave quit (Quit: hhdave) 2020-01-22T17:36:13Z dddddd quit (Ping timeout: 265 seconds) 2020-01-22T17:40:19Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-22T17:40:28Z pjb: asdf_asdf_asdf: you are completely misled. Lisp types have nothing in common with C types. A lisp object can often be stored in several different C variables (or fields or parameters) of different C types. You cannot determine a C type from a lisp object. You can only know in advance what C type a given C variable (or field or parameter) has, and convert the lisp object into a C value of that C type. 2020-01-22T17:40:49Z pjb: minion: memo for asdf_asdf_asdf: you are completely misled. Lisp types have nothing in common with C types. A lisp object can often be stored in several different C variables (or fields or parameters) of different C types. You cannot determine a C type from a lisp object. You can only know in advance what C type a given C variable (or field or parameter) has, and convert the lisp object into a C value of that C type. 2020-01-22T17:40:49Z minion: Remembered. I'll tell asdf_asdf_asdf when he/she/it next speaks. 2020-01-22T17:49:01Z dddddd joined #lisp 2020-01-22T17:51:04Z asarch joined #lisp 2020-01-22T17:53:17Z heisig quit (Quit: Leaving) 2020-01-22T17:54:39Z shifty quit (Ping timeout: 258 seconds) 2020-01-22T17:55:02Z frgo joined #lisp 2020-01-22T17:56:10Z |Pirx| joined #lisp 2020-01-22T17:56:29Z |Pirx|: hello 2020-01-22T17:56:44Z pjb: helo 2020-01-22T17:57:06Z |Pirx|: someone could help me troubleshoot hunchentoot? 2020-01-22T17:57:27Z Xach: |Pirx|: what's up? 2020-01-22T17:57:36Z |Pirx|: i've installed it and get a root page, but easy-handler example from the docs gives 404 2020-01-22T17:58:20Z |Pirx|: define-easy-handler succeeds, but then 404, i did 2020-01-22T17:58:42Z |Pirx|: (require :hunchentoot) 2020-01-22T17:58:54Z |Pirx|: (hunchentoot:start (make-instance 'hunchentoot:acceptor :port 4242)) 2020-01-22T17:59:03Z |Pirx|: now localhost:4242 works 2020-01-22T17:59:18Z |Pirx|: but after (hunchentoot:define-easy-handler (say-yo :uri "/yo") (name) 2020-01-22T17:59:19Z |Pirx|: (setf (hunchentoot:content-type*) "text/plain") 2020-01-22T17:59:19Z |Pirx|: (format nil "Hey~@[ ~A~]!" name)) 2020-01-22T17:59:44Z |Pirx|: 404 2020-01-22T17:59:58Z Xach: |Pirx|: What gives a 404? 2020-01-22T18:00:05Z |Pirx|: the browser 2020-01-22T18:00:10Z Xach: |Pirx|: what URL? 2020-01-22T18:00:19Z |Pirx|: localhost:4242/yo 2020-01-22T18:00:27Z |Pirx|: i see the log in the sbcl console too 2020-01-22T18:00:50Z Xach: I tried that code, visited http://localhost:4242/yo and got "Hey!" 2020-01-22T18:00:57Z Xach: Hmm 2020-01-22T18:01:28Z |Pirx|: should i add something more to the code? 2020-01-22T18:01:45Z Xach: |Pirx|: I don't think so. 2020-01-22T18:01:48Z |Pirx|: i only have exactly what i pasted 2020-01-22T18:01:59Z Xach: |Pirx|: do you use quicklisp? 2020-01-22T18:02:07Z dlowe: where did you type in the define-easy-handler? 2020-01-22T18:02:23Z Xach: dlowe: since all the symbols are qualified, I'm not sure that matters much. 2020-01-22T18:02:45Z |Pirx|: in the console 2020-01-22T18:02:48Z dlowe: I guess so. I'm just wondering if it wasn't evaluated somehow 2020-01-22T18:03:25Z Xach: |Pirx|: does (fdefinition 'say-yo) return a function object? 2020-01-22T18:03:27Z |Pirx|: the require did throw some warnings about 2020-01-22T18:03:38Z Xach: |Pirx|: do you use quicklisp? 2020-01-22T18:03:43Z |Pirx|: it returns SAY-YO 2020-01-22T18:04:00Z papachan quit (Quit: Leaving) 2020-01-22T18:04:13Z Xach: If you do, what does (ql:where-is-system "hunchentoot") show you? 2020-01-22T18:04:22Z jmercouris quit (Remote host closed the connection) 2020-01-22T18:04:45Z |Pirx|: warnings the require about system definitions files that should be under hunchentoot, but root page works anyway 2020-01-22T18:05:53Z nika_ quit 2020-01-22T18:06:18Z |Pirx|: maybe the function doesn't get assigned properly to the acceptor :m 2020-01-22T18:09:19Z |Pirx|: sorry, i missed your last 2020-01-22T18:09:37Z Xach: If you use quicklisp, what does (ql:where-is-system "hunchentoot") show you? 2020-01-22T18:09:40Z |Pirx|: #P"C:/Users/lenovo/quicklisp/dists/quicklisp/software/hunchentoot-v1.2.38/" is what ql:where-is-system returns 2020-01-22T18:10:10Z Xach: ok, that's what I get too. and things work like the docs suggest. very weird! what lisp do you use? (it generally shouldn't matter, but maybe it does in this cae) 2020-01-22T18:10:23Z |Pirx|: sbcl 2020-01-22T18:10:42Z Xach: same here. 2020-01-22T18:10:57Z Xach: |Pirx|: i don't know what might be fouling up for you, sorry. 2020-01-22T18:11:16Z |Pirx|: no preferences, i've seen some recommendations for clozure... thanks anyway :) 2020-01-22T18:11:17Z Xach: I know it's not super-helpful to say "works for me", but it does, as described in the docs, work for me. 2020-01-22T18:11:26Z |Pirx|: that helps 2020-01-22T18:11:42Z |Pirx|: it eliminates some sources of error 2020-01-22T18:11:43Z varjagg joined #lisp 2020-01-22T18:12:34Z |Pirx|: i suspect now something about the environment, maybe i have not included some package by default or something like that 2020-01-22T18:12:53Z |Pirx|: i'm new to this, but very persistent :) 2020-01-22T18:15:38Z FreeBirdLjj joined #lisp 2020-01-22T18:16:00Z jxy quit (Quit: leaving) 2020-01-22T18:16:00Z Xach: |Pirx|: i started from a fresh session, used (ql:quickload "hunchentoot"), (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242)), (hunchentoot:define-easy-handler (say-yo :uri "/yo") (name) (setf (hunchentoot:content-type*) "text/plain") (format nil "Hey~@[ ~A~]!" name)), and got the expected results. i didn't run anything else in the session. 2020-01-22T18:16:02Z smazga joined #lisp 2020-01-22T18:16:40Z |Pirx|: i'll try something different 2020-01-22T18:20:00Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-22T18:22:19Z statusf90 joined #lisp 2020-01-22T18:22:28Z DGASAU quit (Read error: Connection reset by peer) 2020-01-22T18:23:02Z |Pirx|: if i put a "yo" file in the directory it serves it, so the problem is that it's not binding the function to the acceptor 2020-01-22T18:23:11Z DGASAU joined #lisp 2020-01-22T18:23:11Z jxy joined #lisp 2020-01-22T18:23:14Z m00natic quit (Remote host closed the connection) 2020-01-22T18:24:12Z Xach: "in the directory"? 2020-01-22T18:24:57Z |Pirx|: the root directory where index.html and doc.html is 2020-01-22T18:24:57Z Xach: oh, i see 2020-01-22T18:24:58Z |Pirx|: are 2020-01-22T18:25:50Z asdf_asdf_asdf joined #lisp 2020-01-22T18:30:37Z amerlyq quit (Quit: amerlyq) 2020-01-22T18:33:52Z ealfonso quit (Remote host closed the connection) 2020-01-22T18:35:03Z longshi quit (Read error: Connection reset by peer) 2020-01-22T18:37:02Z orivej quit (Ping timeout: 268 seconds) 2020-01-22T18:37:09Z adolby quit (Remote host closed the connection) 2020-01-22T18:38:27Z adolby joined #lisp 2020-01-22T18:43:47Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-22T18:44:43Z asdf_asdf_asdf joined #lisp 2020-01-22T18:45:18Z jebes quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-22T18:45:49Z refpga quit (Read error: Connection reset by peer) 2020-01-22T18:46:49Z adolby quit (Read error: Connection reset by peer) 2020-01-22T18:48:56Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-22T18:49:37Z adolby joined #lisp 2020-01-22T18:51:18Z brown121408 joined #lisp 2020-01-22T18:52:39Z refpga joined #lisp 2020-01-22T18:58:21Z brown121408 quit (Read error: Connection reset by peer) 2020-01-22T18:59:10Z brown121407 joined #lisp 2020-01-22T19:00:23Z nirved: |Pirx|: you have to make an easy-acceptor instance, just acceptor wouldn't work 2020-01-22T19:01:14Z Xach: nirved: good eyes. that's a critical difference. 2020-01-22T19:01:23Z Xach assumed the lines had been copied straight out of the tutorial 2020-01-22T19:11:48Z |Pirx|: let's see 2020-01-22T19:12:48Z |Pirx|: Hey! 2020-01-22T19:12:51Z patlv joined #lisp 2020-01-22T19:12:56Z |Pirx|: thanks! that was it 2020-01-22T19:13:33Z |Pirx|: now i also have ccl installed :) 2020-01-22T19:13:46Z |Pirx|: it neither worked on it of course 2020-01-22T19:20:06Z asarch quit (Quit: Leaving) 2020-01-22T19:25:53Z sauvin quit (Read error: Connection reset by peer) 2020-01-22T19:26:53Z |Pirx| is now known as |Pirx_off| 2020-01-22T19:33:17Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-22T19:35:58Z manualcrank joined #lisp 2020-01-22T19:37:26Z clothespin joined #lisp 2020-01-22T19:42:35Z |Pirx_off| is now known as |Pirx| 2020-01-22T19:43:28Z longshi joined #lisp 2020-01-22T19:44:50Z bitmapper quit 2020-01-22T19:46:06Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-22T19:47:46Z boeg: Can someone help be understand why `(some #'typep (list 1) (list 'number 'string 'number))` returns `T` but `(some #'typep (list 1) (list 'string 'number))` return `NIL` ? And is there a better approach when what I want is test of the type of an object is on a list of "allowed types"? 2020-01-22T19:47:49Z boeg: Can someone help be understand why `(some #'typep (list 1) (list 'number 'string 'number))` returns `T` but `(some #'typep (list 1) (list 'string 'number))` return `NIL` ? And is there a better approach when what I want is test of the type of an object is on a list of "allowed types"? 2020-01-22T19:47:55Z boeg: woah, sorry about double posting 2020-01-22T19:48:37Z Arcaelyx joined #lisp 2020-01-22T19:49:40Z tiwEllien joined #lisp 2020-01-22T19:49:44Z phoe: you don't want to do that 2020-01-22T19:49:52Z phoe: SOME calls TYPEP only once 2020-01-22T19:50:02Z phoe: (TYPEP 1 'NUMBER) is called 2020-01-22T19:50:08Z Bike: it stops after the shortest list runs out. 2020-01-22T19:50:08Z phoe: since the first list only has one element 2020-01-22T19:50:33Z phoe: you want (some (a:curry #'typep 1) '(number string whatever)) 2020-01-22T19:50:34Z phoe: also, yes 2020-01-22T19:50:37Z Bike: If the list is constant you can just do (typep 1 '(or number string)). Is that what you're doing? 2020-01-22T19:50:41Z phoe: (typep x '(or number string whatever)) 2020-01-22T19:52:17Z gxt joined #lisp 2020-01-22T19:52:50Z patlv quit (Quit: Leaving) 2020-01-22T19:53:19Z boeg: oh 2020-01-22T19:53:21Z boeg: thats clever 2020-01-22T19:53:29Z boeg: and makes sense why it wasn't working what i was doing 2020-01-22T19:53:33Z jmercouris joined #lisp 2020-01-22T19:54:54Z boeg: thanks a lot 2020-01-22T19:58:33Z cosimone quit (Quit: Quit.) 2020-01-22T19:59:59Z davr0s joined #lisp 2020-01-22T20:00:00Z davr0s_ joined #lisp 2020-01-22T20:00:08Z splittist: Is there some MOPery that will allow my subclass to skip the super's :after method on INITIALZE-INSTANCE ? 2020-01-22T20:00:49Z splittist: (and use my, and only my, i-i :after method?) 2020-01-22T20:01:33Z splittist: (and I would probably spell it properly ) 2020-01-22T20:01:36Z phoe: splittist: sounds like your own custom method combination 2020-01-22T20:02:00Z phoe: the standard method combination states that all :AFTER methods are executed in order, no exceptions 2020-01-22T20:02:35Z phoe: so if you define your own one, then perhaps you might be able to play around with the method order in some way, including which methods actually are executed and which are skipped 2020-01-22T20:02:54Z Bike: can't do that with initialize-instance tho. 2020-01-22T20:03:02Z phoe: oh wait! 2020-01-22T20:03:09Z phoe: yes, I-I uses a standard method combination 2020-01-22T20:03:15Z Bike: so, no. 2020-01-22T20:03:40Z splittist: yes. But I was hoping to plug into an existing protocol in existing project that almost, but not quite, allows enough specialisation. I guess I just fork/replicate and be done with it ): (and once I have it working, perhaps a PR) 2020-01-22T20:03:51Z phoe: what's the exact issue? 2020-01-22T20:05:13Z Nilby: But you can likely do whatever you want hackishly with throw. 2020-01-22T20:06:01Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-22T20:06:42Z Bike: :after methods are called most-specific-last, so the super's after method will be called before yours, so you can't exit early... and even if you could i'm not sure how that would be arranged. 2020-01-22T20:07:13Z Bike: just redefine the method or something. 2020-01-22T20:11:20Z ralt quit (Quit: Connection closed for inactivity) 2020-01-22T20:11:52Z splittist: yeah. I think it will be fewer lines to not inherit, and come at it from the protocol-end (i.e. specialise each of the protocol gfs). Thanks! 2020-01-22T20:13:57Z z147x quit (Remote host closed the connection) 2020-01-22T20:14:19Z z147x joined #lisp 2020-01-22T20:14:32Z shangul joined #lisp 2020-01-22T20:26:49Z cl-arthur joined #lisp 2020-01-22T20:30:13Z Codaraxis quit (Ping timeout: 265 seconds) 2020-01-22T20:32:23Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-22T20:33:27Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-22T20:34:20Z orivej joined #lisp 2020-01-22T20:34:41Z shangul quit (Ping timeout: 272 seconds) 2020-01-22T20:36:49Z adolby quit (Read error: Connection reset by peer) 2020-01-22T20:37:20Z emys joined #lisp 2020-01-22T20:37:37Z adolby joined #lisp 2020-01-22T20:46:46Z adolby quit (Ping timeout: 258 seconds) 2020-01-22T20:48:23Z harovali quit (Ping timeout: 268 seconds) 2020-01-22T20:49:15Z tiwEllien joined #lisp 2020-01-22T20:51:02Z adolby joined #lisp 2020-01-22T20:51:46Z knicklux joined #lisp 2020-01-22T20:52:13Z papachan joined #lisp 2020-01-22T20:58:09Z nowhereman_ joined #lisp 2020-01-22T21:00:43Z shangul joined #lisp 2020-01-22T21:01:58Z cosimone joined #lisp 2020-01-22T21:03:55Z jayspeer joined #lisp 2020-01-22T21:04:07Z klltkr joined #lisp 2020-01-22T21:05:05Z nowhereman_ quit (Ping timeout: 272 seconds) 2020-01-22T21:09:39Z jeosol joined #lisp 2020-01-22T21:10:06Z zclark joined #lisp 2020-01-22T21:13:13Z narimiran quit (Ping timeout: 258 seconds) 2020-01-22T21:14:20Z Codaraxis joined #lisp 2020-01-22T21:14:54Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-22T21:17:53Z adolby quit (Ping timeout: 260 seconds) 2020-01-22T21:19:13Z shangul quit (Ping timeout: 268 seconds) 2020-01-22T21:19:46Z adolby joined #lisp 2020-01-22T21:23:03Z z147x quit (Ping timeout: 240 seconds) 2020-01-22T21:34:12Z knicklux quit (Ping timeout: 268 seconds) 2020-01-22T21:38:22Z adolby quit (Ping timeout: 265 seconds) 2020-01-22T21:39:10Z z147x joined #lisp 2020-01-22T21:41:58Z adolby joined #lisp 2020-01-22T21:42:51Z gabiruh_ quit (Remote host closed the connection) 2020-01-22T21:47:03Z z147x quit (Ping timeout: 240 seconds) 2020-01-22T21:47:52Z shangul joined #lisp 2020-01-22T21:55:38Z hiroaki quit (Ping timeout: 240 seconds) 2020-01-22T21:55:58Z ArthurStrong joined #lisp 2020-01-22T22:00:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-22T22:04:05Z akoana joined #lisp 2020-01-22T22:09:18Z hiroaki joined #lisp 2020-01-22T22:11:51Z turona quit (Quit: ...) 2020-01-22T22:13:14Z turona joined #lisp 2020-01-22T22:13:22Z splittist: OK. After a few hours work I'm back where I started, with something that almost works, but now with a myriad layers of indirection. Time to declare victory and leave it for the evening. :P 2020-01-22T22:13:39Z Xach: nooo 2020-01-22T22:16:48Z Bike quit (Remote host closed the connection) 2020-01-22T22:16:53Z Odin-: Indirection is at least somewhat preferable over misdirection. 2020-01-22T22:18:23Z splittist: the indirection/protocol thing actually works fine, now. It's just that I started the day with a slightly-broken thing and I'm ending it with exactly the same brokenness. But there is a slightly sleeker yak, so that's something. 2020-01-22T22:18:25Z Bike joined #lisp 2020-01-22T22:19:31Z terpri quit (Remote host closed the connection) 2020-01-22T22:20:07Z jayspeer quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-22T22:21:08Z z147 joined #lisp 2020-01-22T22:21:46Z terpri joined #lisp 2020-01-22T22:23:38Z karlosz joined #lisp 2020-01-22T22:23:46Z Shinmera: splittist: what's the project in question? 2020-01-22T22:24:25Z splittist: Using djula templates with docx (ms word) documents. 2020-01-22T22:24:53Z longshi quit (Ping timeout: 245 seconds) 2020-01-22T22:24:56Z jmercouris quit (Remote host closed the connection) 2020-01-22T22:25:04Z Shinmera: Ah. 2020-01-22T22:25:06Z turona quit (Quit: ...) 2020-01-22T22:26:14Z splittist: It started yesterday as a bit of a distraction from something else docx-related. (Which itself is ...) Basically, it 's squirrels all the way down. 2020-01-22T22:26:44Z |Pirx|: squirrels :) 2020-01-22T22:26:52Z |Pirx|: all the way up? 2020-01-22T22:27:22Z phoe: depends on your CPU architecture I guess, same question as "which direction does the stack grow" 2020-01-22T22:27:58Z |Pirx|: it grows fat on my arch 2020-01-22T22:28:19Z turona joined #lisp 2020-01-22T22:28:33Z Shinmera: splittist: my condolences 2020-01-22T22:33:55Z Bike quit (Quit: Bike) 2020-01-22T22:37:01Z efm_ joined #lisp 2020-01-22T22:37:20Z efm quit (Ping timeout: 265 seconds) 2020-01-22T22:37:51Z seok quit (Remote host closed the connection) 2020-01-22T22:38:11Z efm_ quit (Client Quit) 2020-01-22T22:41:58Z Codaraxis quit (Ping timeout: 245 seconds) 2020-01-22T22:45:55Z EvW joined #lisp 2020-01-22T22:48:12Z madage quit (Remote host closed the connection) 2020-01-22T22:49:08Z emys quit (Ping timeout: 248 seconds) 2020-01-22T22:49:47Z jonatack quit (Ping timeout: 260 seconds) 2020-01-22T22:54:14Z karlosz quit (Quit: karlosz) 2020-01-22T22:54:23Z varjagg quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-22T22:57:21Z emys joined #lisp 2020-01-22T22:58:37Z madage joined #lisp 2020-01-22T23:01:42Z Codaraxis joined #lisp 2020-01-22T23:02:11Z shifty joined #lisp 2020-01-22T23:02:45Z jeosol quit (Remote host closed the connection) 2020-01-22T23:05:38Z emys quit (Ping timeout: 240 seconds) 2020-01-22T23:05:54Z adolby quit (Ping timeout: 268 seconds) 2020-01-22T23:07:20Z adolby joined #lisp 2020-01-22T23:10:15Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-01-22T23:10:52Z White_Flame: how would one express a non-shortcutting version of OR? 2020-01-22T23:11:09Z White_Flame: in the shortest way possible 2020-01-22T23:11:31Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-22T23:11:34Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-22T23:12:08Z random-nick quit (Ping timeout: 265 seconds) 2020-01-22T23:12:36Z no-defun-allowed: (defun lousy-or (value &rest values) (let ((next (apply #'lousy-or values))) (if (null value) next value))) ; but this has non-tail recursion and is slightly cursed 2020-01-22T23:12:41Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-22T23:14:23Z White_Flame: some of the cyc code very, very manually performs a non-shortcutting OR on 2 cleanup items for a "success" return, and I'm wondering if there's some little trick 2020-01-22T23:14:52Z Xach: White_Flame: (defun ns-or (&rest values) (some #'identity values))? 2020-01-22T23:15:03Z White_Flame: some shortcuts, doesn' tit? 2020-01-22T23:15:03Z no-defun-allowed: Ooh, nice one. 2020-01-22T23:15:18Z Xach: White_Flame: yes, but functions evaluate all their arguments 2020-01-22T23:15:45Z Xach: White_Flame: so it evaluates everything (unlike OR) and still gives the semantics of only being true if something is true. 2020-01-22T23:16:07Z White_Flame: ah true, I didn't explore SOME because of that, although I know it's been used for such things 2020-01-22T23:16:07Z Xach: you can't write real OR as a function 2020-01-22T23:16:23Z White_Flame: even (some #'identity (list expr1 exrp2)) etc 2020-01-22T23:16:35Z White_Flame: I'll disasm and see if it reduces away nicely 2020-01-22T23:18:45Z White_Flame: eh, it still constructs and walks the list 2020-01-22T23:18:53Z White_Flame: although without any function calls 2020-01-22T23:18:57Z adolby quit (Read error: Connection reset by peer) 2020-01-22T23:19:06Z adolby_ joined #lisp 2020-01-22T23:19:33Z jonatack joined #lisp 2020-01-22T23:20:16Z Bike joined #lisp 2020-01-22T23:21:11Z LiamH quit (Quit: Leaving.) 2020-01-22T23:27:05Z |Pirx| is now known as |Pirx_off| 2020-01-22T23:28:00Z adolby_ quit (Read error: Connection reset by peer) 2020-01-22T23:29:45Z adolby joined #lisp 2020-01-22T23:32:10Z gabc: Is there any external requirement to use Qtools? Or this should be enough? (ql:quickload '(qtools qtcore qtgui)) 2020-01-22T23:41:21Z emys joined #lisp 2020-01-22T23:47:38Z shrdlu68 quit (Ping timeout: 240 seconds) 2020-01-22T23:47:40Z adolby quit (Read error: Connection reset by peer) 2020-01-22T23:48:56Z adolby joined #lisp 2020-01-22T23:53:02Z shangul quit (Remote host closed the connection) 2020-01-22T23:53:33Z shangul joined #lisp 2020-01-22T23:54:28Z shangul quit (Remote host closed the connection) 2020-01-22T23:55:16Z Arcaelyx quit (Quit: Arcaelyx) 2020-01-22T23:55:30Z shangul joined #lisp 2020-01-22T23:57:59Z emys quit (Ping timeout: 272 seconds) 2020-01-22T23:59:47Z smazga quit (Ping timeout: 265 seconds) 2020-01-23T00:01:32Z EvW quit (Ping timeout: 260 seconds) 2020-01-23T00:01:44Z Lord_of_Life_ joined #lisp 2020-01-23T00:04:27Z cosimone quit (Ping timeout: 260 seconds) 2020-01-23T00:04:34Z zclark quit (Remote host closed the connection) 2020-01-23T00:04:50Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-23T00:04:51Z karlosz joined #lisp 2020-01-23T00:04:53Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-23T00:05:28Z emys joined #lisp 2020-01-23T00:06:13Z z147 quit (Remote host closed the connection) 2020-01-23T00:06:16Z z147x joined #lisp 2020-01-23T00:06:28Z thijso quit (Ping timeout: 260 seconds) 2020-01-23T00:10:18Z emys quit (Ping timeout: 246 seconds) 2020-01-23T00:14:50Z adolby quit (Remote host closed the connection) 2020-01-23T00:15:43Z orivej quit (Ping timeout: 272 seconds) 2020-01-23T00:15:48Z nullniverse joined #lisp 2020-01-23T00:15:48Z nullniverse quit (Changing host) 2020-01-23T00:15:48Z nullniverse joined #lisp 2020-01-23T00:16:12Z Khisanth quit (Ping timeout: 268 seconds) 2020-01-23T00:16:38Z adolby joined #lisp 2020-01-23T00:17:19Z msk_ joined #lisp 2020-01-23T00:18:32Z thijso joined #lisp 2020-01-23T00:22:03Z emys joined #lisp 2020-01-23T00:23:42Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-23T00:26:41Z emys quit (Ping timeout: 268 seconds) 2020-01-23T00:27:54Z klltkr joined #lisp 2020-01-23T00:35:03Z karlosz quit (Quit: karlosz) 2020-01-23T00:37:58Z adolby quit (Ping timeout: 260 seconds) 2020-01-23T00:39:49Z Khisanth joined #lisp 2020-01-23T00:40:15Z clothespin quit (Ping timeout: 268 seconds) 2020-01-23T00:40:51Z adolby joined #lisp 2020-01-23T00:41:42Z nullniverse quit (Quit: Leaving) 2020-01-23T00:51:49Z turona quit (Ping timeout: 272 seconds) 2020-01-23T00:52:05Z turona joined #lisp 2020-01-23T00:55:37Z nirved quit (Ping timeout: 272 seconds) 2020-01-23T00:56:04Z papachan quit (Quit: Leaving) 2020-01-23T00:56:30Z nirved joined #lisp 2020-01-23T01:05:35Z clothespin joined #lisp 2020-01-23T01:09:15Z wxie joined #lisp 2020-01-23T01:13:23Z patrixl joined #lisp 2020-01-23T01:16:42Z hsaziz joined #lisp 2020-01-23T01:16:43Z hsaziz quit (Client Quit) 2020-01-23T01:24:47Z ArthurStrong quit (Quit: leaving) 2020-01-23T01:34:46Z msk_ quit (Quit: Leaving) 2020-01-23T01:35:11Z msk_ joined #lisp 2020-01-23T01:36:29Z msk_ quit (Client Quit) 2020-01-23T01:36:57Z msk joined #lisp 2020-01-23T01:52:11Z msk quit (Quit: Leaving) 2020-01-23T01:53:30Z msk joined #lisp 2020-01-23T01:54:02Z msk quit (Remote host closed the connection) 2020-01-23T01:55:52Z msk joined #lisp 2020-01-23T01:57:26Z msk quit (Client Quit) 2020-01-23T01:57:41Z msk joined #lisp 2020-01-23T02:02:17Z msk quit (Client Quit) 2020-01-23T02:02:35Z msk joined #lisp 2020-01-23T02:03:19Z msk quit (Client Quit) 2020-01-23T02:03:26Z |Pirx_off joined #lisp 2020-01-23T02:03:52Z msk joined #lisp 2020-01-23T02:04:05Z msk quit (Remote host closed the connection) 2020-01-23T02:04:42Z msk joined #lisp 2020-01-23T02:05:19Z |Pirx_off| quit (Ping timeout: 258 seconds) 2020-01-23T02:06:06Z msk quit (Client Quit) 2020-01-23T02:06:45Z msk joined #lisp 2020-01-23T02:06:46Z atgreen quit (Ping timeout: 268 seconds) 2020-01-23T02:07:21Z msk quit (Remote host closed the connection) 2020-01-23T02:07:56Z karlosz joined #lisp 2020-01-23T02:08:25Z msk joined #lisp 2020-01-23T02:08:58Z wxie quit (Ping timeout: 260 seconds) 2020-01-23T02:10:30Z msk quit (Client Quit) 2020-01-23T02:10:45Z msk joined #lisp 2020-01-23T02:13:19Z msk quit (Client Quit) 2020-01-23T02:13:35Z msk joined #lisp 2020-01-23T02:14:15Z karlosz quit (Quit: karlosz) 2020-01-23T02:17:00Z msk quit (Client Quit) 2020-01-23T02:17:15Z msk joined #lisp 2020-01-23T02:18:06Z akoana left #lisp 2020-01-23T02:18:44Z msk quit (Client Quit) 2020-01-23T02:19:05Z msk joined #lisp 2020-01-23T02:20:50Z lavaflow quit (Ping timeout: 240 seconds) 2020-01-23T02:22:19Z msk quit (Client Quit) 2020-01-23T02:22:35Z msk joined #lisp 2020-01-23T02:23:25Z msk quit (Client Quit) 2020-01-23T02:25:16Z Demosthenex quit (Ping timeout: 265 seconds) 2020-01-23T02:25:19Z jfb4_ joined #lisp 2020-01-23T02:25:39Z wxie joined #lisp 2020-01-23T02:25:56Z sjl joined #lisp 2020-01-23T02:28:19Z jfb4 quit (Ping timeout: 258 seconds) 2020-01-23T02:31:58Z Demosthenex joined #lisp 2020-01-23T02:37:17Z clothespin quit (Ping timeout: 260 seconds) 2020-01-23T02:39:33Z statusf90 quit (Quit: statusf90) 2020-01-23T02:42:43Z z147x quit (Ping timeout: 240 seconds) 2020-01-23T02:46:44Z refpga quit (Ping timeout: 265 seconds) 2020-01-23T02:48:17Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-23T02:49:10Z ealfonso joined #lisp 2020-01-23T02:50:20Z msk joined #lisp 2020-01-23T02:56:40Z msk quit (Quit: Leaving) 2020-01-23T02:57:05Z msk joined #lisp 2020-01-23T02:58:14Z |Pirx_off| joined #lisp 2020-01-23T02:58:49Z msk quit (Client Quit) 2020-01-23T02:59:05Z msk joined #lisp 2020-01-23T02:59:11Z |Pirx_off quit (Ping timeout: 268 seconds) 2020-01-23T02:59:37Z jfb4_ quit (Ping timeout: 268 seconds) 2020-01-23T02:59:43Z msk quit (Client Quit) 2020-01-23T03:00:27Z msk joined #lisp 2020-01-23T03:01:36Z dale quit (Quit: My computer has gone to sleep) 2020-01-23T03:02:09Z XenophonF joined #lisp 2020-01-23T03:02:13Z msk quit (Client Quit) 2020-01-23T03:02:30Z msk joined #lisp 2020-01-23T03:03:47Z msk quit (Client Quit) 2020-01-23T03:04:08Z msk joined #lisp 2020-01-23T03:04:20Z orivej joined #lisp 2020-01-23T03:04:31Z terpri quit (Remote host closed the connection) 2020-01-23T03:05:11Z ahungry joined #lisp 2020-01-23T03:05:31Z msk quit (Client Quit) 2020-01-23T03:05:52Z msk joined #lisp 2020-01-23T03:06:12Z terpri joined #lisp 2020-01-23T03:06:24Z msk quit (Client Quit) 2020-01-23T03:06:50Z msk joined #lisp 2020-01-23T03:07:30Z ealfonso quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-23T03:09:58Z ealfonso joined #lisp 2020-01-23T03:11:24Z msk quit (Client Quit) 2020-01-23T03:11:43Z msk joined #lisp 2020-01-23T03:16:58Z ebrasca quit (Remote host closed the connection) 2020-01-23T03:17:16Z jfb4 joined #lisp 2020-01-23T03:18:23Z davsebam1e quit (Ping timeout: 260 seconds) 2020-01-23T03:19:12Z msk quit (Quit: Leaving) 2020-01-23T03:19:30Z msk joined #lisp 2020-01-23T03:21:12Z lavaflow joined #lisp 2020-01-23T03:21:12Z rippa joined #lisp 2020-01-23T03:22:19Z msk quit (Client Quit) 2020-01-23T03:22:35Z msk joined #lisp 2020-01-23T03:23:35Z msk quit (Client Quit) 2020-01-23T03:23:53Z msk joined #lisp 2020-01-23T03:24:53Z msk quit (Client Quit) 2020-01-23T03:25:15Z msk joined #lisp 2020-01-23T03:25:24Z davsebamse joined #lisp 2020-01-23T03:26:22Z karlosz joined #lisp 2020-01-23T03:26:36Z msk quit (Remote host closed the connection) 2020-01-23T03:27:23Z harovali joined #lisp 2020-01-23T03:29:20Z msk joined #lisp 2020-01-23T03:29:44Z msk quit (Remote host closed the connection) 2020-01-23T03:31:45Z msk joined #lisp 2020-01-23T03:32:53Z msk quit (Client Quit) 2020-01-23T03:43:33Z msk joined #lisp 2020-01-23T03:44:21Z reepca joined #lisp 2020-01-23T03:54:11Z reepca: I find myself needing to use native namestrings for passing arguments to another program, and it seems that calling (namestring (make-pathname :name "a.b.c")) produces "a\\.b\\.c". I'm quite confused why this is. Does SBCL think that "canonical form" means "shell-special-characters escaped"? 2020-01-23T03:59:32Z ealfonso quit (Ping timeout: 260 seconds) 2020-01-23T03:59:54Z reepca: seems native-namestring is what I want... I vaguely remember running into this problem before 2020-01-23T04:00:50Z wxie quit (Ping timeout: 240 seconds) 2020-01-23T04:06:06Z dale joined #lisp 2020-01-23T04:08:45Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-23T04:09:41Z beach: Good morning everyone! 2020-01-23T04:11:20Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-23T04:12:02Z libertyprime joined #lisp 2020-01-23T04:22:18Z Bad_K4rMa joined #lisp 2020-01-23T04:22:48Z pjb: reepca: it's implementation dependent. 2020-01-23T04:23:22Z pjb: reepca: if you pass the argument to another program that is NOT written in SBCL, then you want to pass NOT a PATHNAME or a NAMESTRING, but a POSIX path! 2020-01-23T04:23:51Z pjb: reepca: I would suggest NOT to use pathname at all in this case! 2020-01-23T04:25:50Z dddddd quit (Remote host closed the connection) 2020-01-23T04:26:52Z White_Flame: reepca: the period is often used to separate name from type (extension), so that's probably the root of the backslashing 2020-01-23T04:27:14Z Codaraxis quit (Ping timeout: 240 seconds) 2020-01-23T04:28:09Z White_Flame: although a literal of #P"a.b.c" creates a name of "a.b" and a type of "c" 2020-01-23T04:32:23Z gravicappa joined #lisp 2020-01-23T04:35:40Z samebchase- joined #lisp 2020-01-23T04:37:45Z Bike quit (Quit: Lost terminal) 2020-01-23T04:46:51Z marusich joined #lisp 2020-01-23T04:50:02Z pjb: If c was numerical, it could create a pathname with :name :type and :version. 2020-01-23T04:50:15Z pjb: or NEWEST 2020-01-23T04:53:22Z Picantest quit (Ping timeout: 265 seconds) 2020-01-23T04:54:28Z emaczen joined #lisp 2020-01-23T04:56:11Z Codaraxis joined #lisp 2020-01-23T04:56:15Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-23T04:58:15Z emaczen: What can I expect with regards to this $365 bounty: https://www.bountysource.com/issues/75202399-wanted-by-value-structures-in-sb-alien 2020-01-23T04:58:15Z minion: emaczen, memo from pjb: lisp itself is just an assembler. Just avoid the most sophisticated macros (or consider lisp as a macro assembler and use them!). See for example: https://groups.google.com/forum/#!msg/comp.lang.lisp/T3UZwLoN0lw/4r9q_8cwKoQJ THIS IS YOUR STABLE ASSEMBLER! 2020-01-23T04:58:15Z minion: emaczen, memo from pjb: ARM Assembler in Lisp http://www.ulisp.com/show?2XZH 2020-01-23T04:58:49Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-23T05:00:03Z quazimodo joined #lisp 2020-01-23T05:07:57Z slyrus joined #lisp 2020-01-23T05:11:33Z |Pirx_off joined #lisp 2020-01-23T05:12:53Z harovali1 joined #lisp 2020-01-23T05:13:53Z harovali quit (Ping timeout: 260 seconds) 2020-01-23T05:14:18Z |Pirx_off| quit (Ping timeout: 258 seconds) 2020-01-23T05:16:05Z ahungry quit (Remote host closed the connection) 2020-01-23T05:26:16Z ahungry joined #lisp 2020-01-23T05:29:17Z chocimir joined #lisp 2020-01-23T05:30:39Z gxt joined #lisp 2020-01-23T05:31:31Z wxie joined #lisp 2020-01-23T05:33:51Z vlatkoB joined #lisp 2020-01-23T05:41:13Z ebzzry joined #lisp 2020-01-23T05:45:55Z narimiran joined #lisp 2020-01-23T05:46:37Z oxum quit (Remote host closed the connection) 2020-01-23T05:54:08Z libertyprime quit (Ping timeout: 260 seconds) 2020-01-23T05:56:26Z brown121407 quit (Ping timeout: 240 seconds) 2020-01-23T05:56:43Z ahungry quit (Remote host closed the connection) 2020-01-23T05:56:56Z brown121407 joined #lisp 2020-01-23T06:01:43Z wxie quit (Ping timeout: 268 seconds) 2020-01-23T06:04:11Z oxum joined #lisp 2020-01-23T06:11:48Z orivej quit (Ping timeout: 258 seconds) 2020-01-23T06:15:38Z X-Scale quit (Ping timeout: 258 seconds) 2020-01-23T06:16:18Z |Pirx_off quit (Ping timeout: 260 seconds) 2020-01-23T06:16:25Z [X-Scale] joined #lisp 2020-01-23T06:17:15Z CrazyEddy joined #lisp 2020-01-23T06:23:18Z chocimir quit (Ping timeout: 268 seconds) 2020-01-23T06:23:52Z sauvin joined #lisp 2020-01-23T06:31:16Z chocimir joined #lisp 2020-01-23T06:32:45Z FreeBirdLjj joined #lisp 2020-01-23T06:34:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-23T06:38:27Z nika joined #lisp 2020-01-23T06:38:45Z refpga joined #lisp 2020-01-23T06:41:42Z refpga quit (Remote host closed the connection) 2020-01-23T06:46:12Z marusich quit (Quit: Leaving) 2020-01-23T06:49:01Z shangul quit (Ping timeout: 272 seconds) 2020-01-23T06:54:56Z Cymew joined #lisp 2020-01-23T06:58:58Z shangul joined #lisp 2020-01-23T07:17:28Z flamebeard joined #lisp 2020-01-23T07:22:55Z jprajzne joined #lisp 2020-01-23T07:25:14Z gxt joined #lisp 2020-01-23T07:28:05Z Roland2 joined #lisp 2020-01-23T07:29:54Z mjsir911 quit (Ping timeout: 246 seconds) 2020-01-23T07:30:02Z shangul quit (Ping timeout: 240 seconds) 2020-01-23T07:30:32Z shangul joined #lisp 2020-01-23T07:30:34Z mjsir911 joined #lisp 2020-01-23T07:30:41Z dale quit (Quit: My computer has gone to sleep) 2020-01-23T07:31:20Z galdor: $365 for something which is probably not fixable in 1-2 hours is depressing 2020-01-23T07:31:40Z galdor: I wish company using CL would start investing real money in this kind of thing 2020-01-23T07:35:11Z Nilby: Some very rare person already familiar with it might be able to do it in a few days, but I spent more than that just educating myself and doing background research. 2020-01-23T07:36:18Z Nilby: Also, in my opinion, doing it properly means making patches to CFFI. 2020-01-23T07:37:43Z _death: cffi can do that with libffi, though I had to patch things a bit to make things work for my use case 2020-01-23T07:39:18Z Nilby: Yes, but it isn't an ideal solution. It is hard to compile and find for some platforms, and then it dynamically creates a function call, which could "easily" just be compiled in. 2020-01-23T07:39:34Z _death: sure 2020-01-23T07:39:44Z knicklux joined #lisp 2020-01-23T07:41:21Z Nilby: Also CCL can do it. But only with the native FFI. 2020-01-23T07:43:53Z wxie joined #lisp 2020-01-23T07:46:16Z Nilby: It's extra maddening because passing C structs by value is usually stupid anyway, and C struct layout can have a lot of edge cases. 2020-01-23T07:48:08Z emaczen: Nilby: Will you look at this and give me a few suggestions? I am stumped: https://plaster.tymoon.eu/view/1646#1648 2020-01-23T07:49:35Z emaczen: galdor: How much money does it need to get someone to fix it? 2020-01-23T07:50:07Z Nilby: Ok, just a sec.. 2020-01-23T07:51:53Z emaczen: Nilby: Thanks, I think the biggest not is that test4 is the same as test3 (test3 works!) except test4 is using a C struct, which should rule out my other code from being problematic 2020-01-23T07:52:35Z emaczen: Nilby: Which to me would mean the most likely error is in the definition of the C struct for libffi 2020-01-23T07:54:09Z emaczen: note* 2020-01-23T07:56:58Z Nilby: Oh boy. Just looking at this is giving me bad memories of much crashing 2020-01-23T07:58:14Z Shinmera: galdor: It's more than 0$. 2020-01-23T07:58:28Z nonlinear[m] quit (*.net *.split) 2020-01-23T07:58:28Z katco quit (*.net *.split) 2020-01-23T07:58:29Z grumpyvegetable quit (*.net *.split) 2020-01-23T07:58:29Z beaky quit (*.net *.split) 2020-01-23T07:58:29Z asedeno quit (*.net *.split) 2020-01-23T07:58:29Z lieven quit (*.net *.split) 2020-01-23T08:00:49Z copec quit (*.net *.split) 2020-01-23T08:00:49Z Grauwolf quit (*.net *.split) 2020-01-23T08:00:49Z spal quit (*.net *.split) 2020-01-23T08:00:49Z Grue`` quit (*.net *.split) 2020-01-23T08:00:49Z hiredman quit (*.net *.split) 2020-01-23T08:00:49Z heredoc quit (*.net *.split) 2020-01-23T08:00:49Z sbryant quit (*.net *.split) 2020-01-23T08:00:49Z mfiano quit (*.net *.split) 2020-01-23T08:00:49Z newcup quit (*.net *.split) 2020-01-23T08:00:49Z trn quit (*.net *.split) 2020-01-23T08:00:50Z gingerale quit (*.net *.split) 2020-01-23T08:00:50Z null_ptr quit (*.net *.split) 2020-01-23T08:00:50Z housel quit (*.net *.split) 2020-01-23T08:00:50Z karstensrage quit (*.net *.split) 2020-01-23T08:00:50Z lbtjp quit (*.net *.split) 2020-01-23T08:00:50Z vidak` quit (*.net *.split) 2020-01-23T08:00:50Z larme quit (*.net *.split) 2020-01-23T08:00:50Z keep-learning[m] quit (*.net *.split) 2020-01-23T08:00:50Z vydd quit (*.net *.split) 2020-01-23T08:00:50Z jackhill quit (*.net *.split) 2020-01-23T08:00:50Z jasom quit (*.net *.split) 2020-01-23T08:00:50Z gabc quit (*.net *.split) 2020-01-23T08:00:50Z eagleflo_ quit (*.net *.split) 2020-01-23T08:00:50Z fiddlerwoaroof_ quit (*.net *.split) 2020-01-23T08:00:50Z drot quit (*.net *.split) 2020-01-23T08:00:50Z Zotan quit (*.net *.split) 2020-01-23T08:00:50Z abbe quit (*.net *.split) 2020-01-23T08:00:50Z emaczen: Yeah, the error I get is an Unhandled memory fault at #x0 to during the ffi:ffi-call 2020-01-23T08:00:50Z beaky joined #lisp 2020-01-23T08:01:14Z stylewarning quit (Ping timeout: 240 seconds) 2020-01-23T08:01:17Z EuAndreh[m] quit (Ping timeout: 246 seconds) 2020-01-23T08:01:55Z eriix[m] quit (Ping timeout: 250 seconds) 2020-01-23T08:02:00Z no-defun-allowed quit (Ping timeout: 250 seconds) 2020-01-23T08:02:00Z LdBeth quit (Ping timeout: 245 seconds) 2020-01-23T08:02:00Z malaclyps[m] quit (Ping timeout: 246 seconds) 2020-01-23T08:03:22Z thecoffemaker quit (Ping timeout: 240 seconds) 2020-01-23T08:03:22Z djeis[m] quit (Ping timeout: 252 seconds) 2020-01-23T08:03:22Z stylewarning joined #lisp 2020-01-23T08:03:22Z Gnuxie[m] quit (Ping timeout: 264 seconds) 2020-01-23T08:03:22Z null_ptr joined #lisp 2020-01-23T08:03:22Z karstensrage joined #lisp 2020-01-23T08:03:22Z housel joined #lisp 2020-01-23T08:03:22Z gabc joined #lisp 2020-01-23T08:03:22Z lbtjp joined #lisp 2020-01-23T08:03:22Z vidak` joined #lisp 2020-01-23T08:03:22Z larme joined #lisp 2020-01-23T08:03:22Z vydd joined #lisp 2020-01-23T08:03:22Z jackhill joined #lisp 2020-01-23T08:03:22Z jasom joined #lisp 2020-01-23T08:03:22Z eagleflo_ joined #lisp 2020-01-23T08:03:22Z fiddlerwoaroof_ joined #lisp 2020-01-23T08:03:22Z drot joined #lisp 2020-01-23T08:03:22Z Zotan joined #lisp 2020-01-23T08:03:22Z abbe joined #lisp 2020-01-23T08:03:22Z dkrm quit (Ping timeout: 268 seconds) 2020-01-23T08:03:22Z thecoffemaker joined #lisp 2020-01-23T08:03:22Z Nilby: My recommendation would be to start with an easier struct. Like something with only a couple members. If there's one little thing out of place, you'll have trouble. 2020-01-23T08:03:51Z dkrm joined #lisp 2020-01-23T08:06:15Z Nilby: For the x86_64 abi sometimes struct member values that can fit in 64 bit words are just put in registers, but sometimes it points to the stack, so for anything complex it usually involves doing some stack allocating. 2020-01-23T08:06:39Z Nilby: But for small structs, there's just like immediate values. 2020-01-23T08:08:06Z Nilby: I'm sorry I can't immediately tell anything. 2020-01-23T08:08:59Z emaczen: Nilby: What would be a simpler struct than two uint64s? 2020-01-23T08:09:16Z Nilby: But one approach might be to get CCL to successfully make the call, and observe it very carefully. Or you could carefully observe objective C in the debugger. 2020-01-23T08:10:15Z Nilby: Hmm I guess you're right, that'a about as simple as it gets. 2020-01-23T08:10:35Z emaczen: Or what exactly makes this struct not simple? I would think of it as just a 16 byte block -- pretty simple 2020-01-23T08:10:44Z emaczen: oh, your reply -- nvm 2020-01-23T08:11:57Z Nilby: Is this on MacOS? 2020-01-23T08:12:01Z emaczen: No 2020-01-23T08:12:47Z emaczen: x86_64 linux 2020-01-23T08:13:19Z nika quit (Read error: Connection reset by peer) 2020-01-23T08:13:44Z nika joined #lisp 2020-01-23T08:14:51Z chocimir quit (Ping timeout: 258 seconds) 2020-01-23T08:18:44Z galdor: emaczen: at less than 4 digits, I fail to see anyone investing real time and energy on it, given the fact that if it was trivial, it would already be done 2020-01-23T08:19:01Z terpri quit (Remote host closed the connection) 2020-01-23T08:19:32Z galdor: and since some CL implementations need patching (+ cffi to use it instead of libffi, good luck to have cffi updated), you're looking at significant work 2020-01-23T08:19:46Z terpri joined #lisp 2020-01-23T08:22:18Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-23T08:22:30Z patrixl quit (Quit: Leaving.) 2020-01-23T08:25:25Z scymtym joined #lisp 2020-01-23T08:26:50Z nika quit (Read error: Connection reset by peer) 2020-01-23T08:26:54Z cl-arthur joined #lisp 2020-01-23T08:26:55Z gko_ joined #lisp 2020-01-23T08:26:56Z nika_ joined #lisp 2020-01-23T08:29:23Z Nilby: I found my notes on it but it's for windows and ccl, and filled with expletives, so I don't think it will help. 2020-01-23T08:30:02Z cl-arthur quit (Remote host closed the connection) 2020-01-23T08:30:52Z emaczen: hah, I think I'm going to have to try using CCL with its ability to handle C structs... 2020-01-23T08:31:20Z Nilby: Here's I think a comment from CCL that I found educational https://plaster.tymoon.eu/view/1653#1653 2020-01-23T08:33:39Z emaczen: Why does CCL have it done while SBCL doesn't? 2020-01-23T08:33:58Z Shinmera: Because nobody did it for SBCL yet? Why else 2020-01-23T08:34:03Z beach: Heh! 2020-01-23T08:34:47Z emaczen: Shinmera: There are probably some technical/market reasons 2020-01-23T08:35:06Z galdor: I think you do not really understand how most opensource works 2020-01-23T08:35:08Z Shinmera: The technical reason is that structs by value is a fucking mess in C and it's a pain to implement. 2020-01-23T08:35:21Z Shinmera: So nobody felt like doing it. 2020-01-23T08:36:10Z keep_learning joined #lisp 2020-01-23T08:36:19Z Nilby: Exactly. It's even worse if you try to support 32 bit architectures. 2020-01-23T08:36:27Z emaczen: galdor: I don't 2020-01-23T08:37:02Z galdor: ok my bad 2020-01-23T08:37:20Z galdor: people usually work on what interests them, or on things they need for they personal projects 2020-01-23T08:37:29Z galdor: sometimes company pay for development because they need it 2020-01-23T08:38:03Z galdor: some devs will write some code because someone asked just to be nice, it happens 2020-01-23T08:38:06Z Nilby: In the case of CCL, Clozure had customers. 2020-01-23T08:38:57Z galdor: so if something is not developed, it's usually because no one needed it badly enough or it's such a PITA no one want to put their arm in the meat grinder 2020-01-23T08:39:00Z emaczen: galdor: Of course, I just saw that the bounty was originally filed as a bug/issue 10 years ago, then 7 months ago people put up $70 and now it is at $365 -- The specifics that you gave of 4 digits is what I really wanted to know 2020-01-23T08:39:12Z Nilby: But for SBCL, only google, reddit, and ycombinitor used it, so. 2020-01-23T08:39:24Z galdor: reddit does not use lisp anymore 2020-01-23T08:39:41Z galdor: YC run on some weird custom stuff running above mzscheme iirc 2020-01-23T08:39:42Z Shinmera: emaczen: The bounty went up because the bounty for CCL's PLNs was so successful I thought we could do it again for this problem that does affect me to some extent. 2020-01-23T08:39:59Z galdor: Google pays for a SBCL dev, but afaik it is for what *they* need for ex-ITA stuff 2020-01-23T08:40:19Z galdor: and about the 4 digits, I'm quoting a european monthly salary 2020-01-23T08:40:48Z emaczen: Shinmera: PLN? 2020-01-23T08:40:55Z jackdaniel: package-local nicknames 2020-01-23T08:40:55Z galdor: no one is patching something as tricky in SBCL, + CFFI support for what is barely 1 or 2 days of salary 2020-01-23T08:41:16Z jackdaniel: galdor: not all efforts are salary-driven 2020-01-23T08:41:57Z galdor: of course not, but since it has not been implemented in 10 years, there is little chance of it happening because someone is bored one weekend 2020-01-23T08:42:00Z oxum_ joined #lisp 2020-01-23T08:42:01Z Nilby: Someone at yc said he was making an "arc" on sbcl to run HN 2020-01-23T08:42:19Z oxum quit (Read error: Connection reset by peer) 2020-01-23T08:42:32Z galdor: there's nothing wrong with it, it's just that generally if you want something done in the opensource world, you can either pay or do it yourself 2020-01-23T08:43:13Z jackdaniel can testify, that many kind souls help him by fixing issues of their projects when he asks them nicely 2020-01-23T08:43:31Z galdor: again, it happens, but you cannot really count on it 2020-01-23T08:43:47Z jackdaniel: you can't count that money will do the job either 2020-01-23T08:43:49Z jackdaniel: same with your own effort 2020-01-23T08:43:53Z jackdaniel: so this point is a moot 2020-01-23T08:44:13Z Nilby: I only started working on it out of extreme conditions of trapped at my friend'ss house with a broken laptop and only a windows machine. So I was prepared to suffer. 2020-01-23T08:45:37Z grumpyvegetable joined #lisp 2020-01-23T08:45:37Z asedeno joined #lisp 2020-01-23T08:45:37Z lieven joined #lisp 2020-01-23T08:45:37Z copec joined #lisp 2020-01-23T08:45:37Z Grauwolf joined #lisp 2020-01-23T08:45:37Z spal joined #lisp 2020-01-23T08:45:37Z Grue`` joined #lisp 2020-01-23T08:45:37Z hiredman joined #lisp 2020-01-23T08:45:37Z heredoc joined #lisp 2020-01-23T08:45:37Z sbryant joined #lisp 2020-01-23T08:45:37Z mfiano joined #lisp 2020-01-23T08:45:37Z newcup joined #lisp 2020-01-23T08:45:37Z trn joined #lisp 2020-01-23T08:45:37Z gingerale joined #lisp 2020-01-23T08:45:39Z jackdaniel: sounds like a good beginning of a book :) 2020-01-23T08:45:55Z spal quit (Max SendQ exceeded) 2020-01-23T08:46:05Z spal joined #lisp 2020-01-23T08:46:34Z zaquest quit (Quit: Leaving) 2020-01-23T08:47:55Z emaczen: Nilby: In that note you showed me it says sizes of 8 16 ... below that 1-4 passed in regs 2020-01-23T08:48:05Z emaczen: Does that mean that the fields are passed in registers? 2020-01-23T08:48:39Z nckx quit (Ping timeout: 268 seconds) 2020-01-23T08:48:46Z Nilby: Yes, sometimes, depending on the sizes. 2020-01-23T08:48:57Z q3d joined #lisp 2020-01-23T08:48:57Z emaczen: Since NSRange is 16 bytes it would fall into that category 2020-01-23T08:49:01Z nckx joined #lisp 2020-01-23T08:49:09Z Nilby: Like immediate values. 2020-01-23T08:49:53Z emaczen: Nilby: Would you guess that this is why I am getting an unhandled memory fault? 2020-01-23T08:50:29Z Nilby: You can get that from nearly anything. If one bit/byte is off. 2020-01-23T08:51:31Z Nilby: But usually it's just the pointer is wrong, or it thinks something is a pointer that's not. Usually the error has the value which you can sometimes compare, by looking at the call it -tries- to create 2020-01-23T08:53:14Z emaczen: It just gives me #x0 and bogus stack frame 2020-01-23T08:55:25Z z147x joined #lisp 2020-01-23T08:56:45Z edgar-xyz joined #lisp 2020-01-23T08:57:22Z Nilby: Nice. I usually just mash the stack till it works. There's finite combination of places to put values, then jump. You'll get some memory error until it works! 2020-01-23T08:58:02Z edgar-rft quit (Ping timeout: 240 seconds) 2020-01-23T08:58:51Z emaczen: Nilby: Unfortunately, I'm not too accustomed to lower level programming... There were a number of times that I messed up pointer of pointers in CFFI -- It can be tricky working through several interfaces too 2020-01-23T08:59:26Z emaczen: Although I like the way CFFI handles C -- it makes more sense to me than C 2020-01-23T09:00:49Z edgar-xyz quit (Client Quit) 2020-01-23T09:01:42Z wxie quit (Ping timeout: 260 seconds) 2020-01-23T09:02:49Z edgar-rft joined #lisp 2020-01-23T09:06:02Z _whitelogger quit (Remote host closed the connection) 2020-01-23T09:06:27Z hhdave joined #lisp 2020-01-23T09:08:15Z _whitelogger joined #lisp 2020-01-23T09:13:07Z davepdotorg joined #lisp 2020-01-23T09:14:40Z emys joined #lisp 2020-01-23T09:14:51Z q3d quit (Ping timeout: 260 seconds) 2020-01-23T09:16:07Z wxie joined #lisp 2020-01-23T09:20:22Z zaquest joined #lisp 2020-01-23T09:22:50Z whiteline quit (Ping timeout: 240 seconds) 2020-01-23T09:22:56Z emys quit (Ping timeout: 246 seconds) 2020-01-23T09:25:36Z phoe: Good news: I've merged ACL support into trivial-package-local-nicknames. 2020-01-23T09:26:04Z phoe: Bad news: there are some tpln test failures on ACL. Any ACL user wants to investigate these? 2020-01-23T09:30:57Z emys joined #lisp 2020-01-23T09:33:17Z whiteline joined #lisp 2020-01-23T09:43:27Z Shinmera: phoe: wouldn't it make more sense to contact support about them? 2020-01-23T09:43:43Z emys quit (Ping timeout: 268 seconds) 2020-01-23T09:44:55Z heisig joined #lisp 2020-01-23T09:45:00Z phoe: Shinmera: it would, but I still need a little bit of help analyzing each of the test failures and producing proper bugtickets. That, or I'll need more time to properly figure all that out myself. 2020-01-23T09:45:42Z wxie quit (Ping timeout: 258 seconds) 2020-01-23T09:48:22Z tiwEllien joined #lisp 2020-01-23T09:50:45Z emys joined #lisp 2020-01-23T09:53:24Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-23T09:55:16Z emys quit (Ping timeout: 248 seconds) 2020-01-23T10:01:25Z frgo quit (Ping timeout: 268 seconds) 2020-01-23T10:01:29Z knicklux quit (Remote host closed the connection) 2020-01-23T10:03:53Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-23T10:06:21Z davepdotorg joined #lisp 2020-01-23T10:15:47Z amerlyq joined #lisp 2020-01-23T10:20:40Z EvW joined #lisp 2020-01-23T10:30:35Z frgo joined #lisp 2020-01-23T10:32:11Z emaczen quit (Ping timeout: 265 seconds) 2020-01-23T10:34:26Z davepdotorg quit (Remote host closed the connection) 2020-01-23T10:34:52Z longshi joined #lisp 2020-01-23T10:36:48Z davepdotorg joined #lisp 2020-01-23T10:37:15Z davepdotorg quit (Remote host closed the connection) 2020-01-23T10:37:21Z davepdotorg joined #lisp 2020-01-23T10:37:59Z cosimone joined #lisp 2020-01-23T10:47:16Z cosimone quit (Quit: Terminated!) 2020-01-23T10:49:32Z nika_ quit 2020-01-23T10:49:37Z cosimone joined #lisp 2020-01-23T10:56:22Z jmercouris joined #lisp 2020-01-23T10:58:38Z Nilby quit (Read error: Connection reset by peer) 2020-01-23T10:59:33Z tiwEllien quit (Ping timeout: 246 seconds) 2020-01-23T10:59:48Z brown121408 joined #lisp 2020-01-23T11:00:27Z brown121407 quit (Ping timeout: 272 seconds) 2020-01-23T11:03:53Z frgo quit (Ping timeout: 260 seconds) 2020-01-23T11:11:00Z stepnem joined #lisp 2020-01-23T11:12:03Z stepnem_ quit (Ping timeout: 260 seconds) 2020-01-23T11:15:47Z fengshaun_ quit (Ping timeout: 258 seconds) 2020-01-23T11:15:59Z m00natic joined #lisp 2020-01-23T11:16:05Z ebrasca joined #lisp 2020-01-23T11:18:11Z fengshaun joined #lisp 2020-01-23T11:22:37Z william1_ joined #lisp 2020-01-23T11:22:39Z frgo joined #lisp 2020-01-23T11:22:53Z papachan joined #lisp 2020-01-23T11:23:02Z z147x quit (Remote host closed the connection) 2020-01-23T11:23:25Z z147x joined #lisp 2020-01-23T11:24:56Z dddddd joined #lisp 2020-01-23T11:27:41Z ggole joined #lisp 2020-01-23T11:29:35Z jonatack quit (Ping timeout: 272 seconds) 2020-01-23T11:31:03Z longshi quit (Ping timeout: 246 seconds) 2020-01-23T11:32:08Z Roland2 quit (Quit: Leaving.) 2020-01-23T11:33:38Z Odin- quit (Ping timeout: 260 seconds) 2020-01-23T11:33:48Z brown121408 quit (Read error: Connection reset by peer) 2020-01-23T11:34:05Z brown121408 joined #lisp 2020-01-23T11:38:19Z |Pirx_off| joined #lisp 2020-01-23T11:41:01Z LdBeth joined #lisp 2020-01-23T11:44:22Z msk quit (Remote host closed the connection) 2020-01-23T11:44:44Z msk joined #lisp 2020-01-23T11:47:10Z Odin- joined #lisp 2020-01-23T11:47:38Z frgo quit (Ping timeout: 240 seconds) 2020-01-23T11:48:17Z statusf90 joined #lisp 2020-01-23T11:50:13Z montaropdf joined #lisp 2020-01-23T11:50:51Z mingus joined #lisp 2020-01-23T11:53:36Z Odin- quit (Ping timeout: 252 seconds) 2020-01-23T11:54:26Z troydm quit (Ping timeout: 240 seconds) 2020-01-23T12:04:08Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-23T12:04:27Z Lord_of_Life joined #lisp 2020-01-23T12:08:53Z frodef joined #lisp 2020-01-23T12:10:27Z frodef: Hi all 2020-01-23T12:11:00Z frodef: Any tips on preferred library for testing? 2020-01-23T12:12:08Z william1_ quit (Ping timeout: 260 seconds) 2020-01-23T12:12:23Z phoe: frodef: there's only one rule: don't write your own testing library 2020-01-23T12:12:31Z phoe: other than that, any particular functionality you're looking for? 2020-01-23T12:12:37Z holycow joined #lisp 2020-01-23T12:13:16Z jmercouris: I suggest Prove or Rove, both are fine for 99% of use cases 2020-01-23T12:13:22Z frodef: phoe: It's why I ask :) Just looking for basic "verify this form returns these values" 2020-01-23T12:13:58Z frodef: jmercouris: I see now cliki recommends rove or fiveam, guess I'll check out rove. 2020-01-23T12:14:51Z frodef: ..which leads me to another question, any quick words on what "roswell" is? 2020-01-23T12:15:01Z phoe: roswell is an implementation manager 2020-01-23T12:15:05Z cosimone quit (Quit: Terminated!) 2020-01-23T12:15:06Z jmercouris: Roswell is a CL distribution manager, think of it like RVM 2020-01-23T12:15:15Z jmercouris: s/distribution/implementation 2020-01-23T12:15:37Z phoe: which is a good idea in theory but the fact it has a core written in C makes me wonder if I should ever recommend it for anything more than auto-installing new SBCL versions by means of `ros install sbcl` 2020-01-23T12:15:48Z phoe: (and even that failed me multiple times in the past, especially on Windows) 2020-01-23T12:16:03Z jmercouris: I do not reccommend Roswell, personally 2020-01-23T12:16:06Z frodef: ok, not anything like quicklisp, then. 2020-01-23T12:16:11Z phoe: not really 2020-01-23T12:16:20Z oxum joined #lisp 2020-01-23T12:16:22Z frodef: thanks! 2020-01-23T12:16:27Z phoe: quicklisp autodownloads ASDF systems; roswell manages and autodownloads CL implementations. 2020-01-23T12:16:32Z frodef: right. 2020-01-23T12:16:34Z oxum_ quit (Read error: Connection reset by peer) 2020-01-23T12:16:58Z phoe: roswell sets up quicklisp as a part of its initialization. 2020-01-23T12:19:24Z troydm joined #lisp 2020-01-23T12:22:25Z jonatack joined #lisp 2020-01-23T12:22:47Z jackdaniel: I was curious who put rove on recommended list for unit tests, but apparently "recent changes" on cliki is limited to only few months 2020-01-23T12:23:23Z jmercouris: it wasn't me 2020-01-23T12:23:36Z jmercouris: you have a problem with Rove? 2020-01-23T12:24:25Z jackdaniel: I did not said I have a problem with rove, I've said.. well, you have it written above 2020-01-23T12:24:42Z jackdaniel: or below, depends on irc client I suppose 2020-01-23T12:25:08Z jmercouris: I see 2020-01-23T12:26:25Z jackdaniel: oh, there is a separate "History" 2020-01-23T12:26:29Z jackdaniel: nvm my remark about cliki 2020-01-23T12:35:47Z refpga joined #lisp 2020-01-23T12:42:12Z kajo quit (Ping timeout: 260 seconds) 2020-01-23T12:43:13Z kajo joined #lisp 2020-01-23T12:44:33Z jonatack quit (Ping timeout: 246 seconds) 2020-01-23T12:49:48Z no-defun-allowed joined #lisp 2020-01-23T12:49:48Z nonlinear[m] joined #lisp 2020-01-23T12:49:48Z djeis[m] joined #lisp 2020-01-23T12:49:48Z Irenes[m] joined #lisp 2020-01-23T12:49:48Z tadni joined #lisp 2020-01-23T12:49:48Z katco joined #lisp 2020-01-23T12:49:49Z EuAndreh[m] joined #lisp 2020-01-23T12:49:49Z keep-learning[m] joined #lisp 2020-01-23T12:49:49Z malaclyps[m] joined #lisp 2020-01-23T12:49:49Z eriix[m] joined #lisp 2020-01-23T12:49:49Z Gnuxie[m] joined #lisp 2020-01-23T12:54:36Z lucasb joined #lisp 2020-01-23T12:54:57Z seok joined #lisp 2020-01-23T12:56:42Z drl joined #lisp 2020-01-23T12:59:02Z frgo joined #lisp 2020-01-23T13:06:36Z orivej joined #lisp 2020-01-23T13:07:32Z wxie joined #lisp 2020-01-23T13:17:54Z flamebeard quit (Remote host closed the connection) 2020-01-23T13:18:35Z flamebeard joined #lisp 2020-01-23T13:19:32Z mingus quit (Ping timeout: 248 seconds) 2020-01-23T13:20:35Z frodef quit (Ping timeout: 246 seconds) 2020-01-23T13:20:36Z beach: frodef: I use a standard test system called ASSERT. 2020-01-23T13:21:14Z wxie quit (Ping timeout: 240 seconds) 2020-01-23T13:21:55Z jonatack joined #lisp 2020-01-23T13:22:02Z beach: It works well with all kinds of testing paradigms, including my favorite one, namely randomly generated operations and comparison to a simple but inefficient implementation. 2020-01-23T13:23:46Z dsp- joined #lisp 2020-01-23T13:24:03Z flamebeard quit (Ping timeout: 265 seconds) 2020-01-23T13:24:20Z rwcom3 joined #lisp 2020-01-23T13:26:46Z rwcom quit (Ping timeout: 268 seconds) 2020-01-23T13:26:46Z rwcom3 is now known as rwcom 2020-01-23T13:26:55Z _jrjsmrtn joined #lisp 2020-01-23T13:26:56Z theruran joined #lisp 2020-01-23T13:27:04Z mingus joined #lisp 2020-01-23T13:28:48Z __jrjsmrtn__ quit (Ping timeout: 258 seconds) 2020-01-23T13:32:52Z FreeBird_ joined #lisp 2020-01-23T13:33:03Z random-nick joined #lisp 2020-01-23T13:34:47Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-23T13:36:41Z ljavorsk joined #lisp 2020-01-23T13:41:15Z asdf_asdf_asdf joined #lisp 2020-01-23T13:46:02Z orivej quit (Ping timeout: 240 seconds) 2020-01-23T13:52:11Z FreeBird_ quit (Ping timeout: 258 seconds) 2020-01-23T13:53:44Z FreeBirdLjj joined #lisp 2020-01-23T13:57:13Z phoe quit (Quit: leaving) 2020-01-23T13:58:41Z phoe joined #lisp 2020-01-23T14:00:01Z Bike joined #lisp 2020-01-23T14:02:22Z refpga quit (Remote host closed the connection) 2020-01-23T14:02:54Z flamebeard joined #lisp 2020-01-23T14:04:19Z holycow quit (Quit: leaving) 2020-01-23T14:06:26Z FreeBird_ joined #lisp 2020-01-23T14:06:28Z xkapastel joined #lisp 2020-01-23T14:06:39Z FreeBirdLjj quit (Ping timeout: 272 seconds) 2020-01-23T14:07:31Z flamebeard quit (Ping timeout: 258 seconds) 2020-01-23T14:16:13Z drl quit (Quit: Ex-Chat) 2020-01-23T14:18:30Z pfdietz joined #lisp 2020-01-23T14:20:12Z frodef joined #lisp 2020-01-23T14:20:16Z refpga joined #lisp 2020-01-23T14:25:49Z longshi joined #lisp 2020-01-23T14:27:15Z papachan quit (Quit: Leaving) 2020-01-23T14:30:15Z XenophonF: anyone here familiar with the 40ants gen-deps-system tool? 2020-01-23T14:31:08Z phoe: XenophonF: what's the issue? 2020-01-23T14:31:20Z XenophonF: it's choking on a my package's reference to cl-json, which in Lisp has a package name of "json", not "cl-json" 2020-01-23T14:31:42Z XenophonF: looks something like (DEFPACKAGE ... (:IMPORT-FROM #:JSON)... ) 2020-01-23T14:31:54Z phoe: looks like a thing for https://github.com/40ants/gen-deps-system/issues 2020-01-23T14:32:04Z XenophonF: roger that 2020-01-23T14:32:10Z phoe: Alexander is active on GitHub, so he should respond quickly 2020-01-23T14:32:42Z XenophonF: most of the problems I've encountered up to this point are due to my ignorance, not bugs, so I thought I'd start there ;) 2020-01-23T14:32:43Z oldtopman quit (Remote host closed the connection) 2020-01-23T14:32:53Z XenophonF: I'll come up with a test case and file a ticket shortly. 2020-01-23T14:32:55Z XenophonF: thanks 2020-01-23T14:44:16Z ebrasca: How to get Source file of some function? 2020-01-23T14:45:03Z jackdaniel: in slime put a cursor on a symbol being a name of this function and type C-. 2020-01-23T14:45:03Z phoe: M-. with the emacs point over its name 2020-01-23T14:45:07Z jackdaniel: M-. that is 2020-01-23T14:46:10Z ebrasca: I need some common lisp function for this. 2020-01-23T14:46:44Z beach: clhs function-lambda-expression 2020-01-23T14:46:44Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_fn_lam.htm 2020-01-23T14:47:20Z beach: ebrasca: But it is obviously not guaranteed to work. If it were, you could use the personal edition of LispWorks, and figure out all the source code. 2020-01-23T14:47:23Z phoe: #'swank:find-definition-for-thing 2020-01-23T14:48:06Z flamebeard joined #lisp 2020-01-23T14:48:09Z jackdaniel: for some reason always when I try to check out the sbcl function I log into Xof's computer :-) 2020-01-23T14:49:24Z longshi quit (Ping timeout: 268 seconds) 2020-01-23T14:54:02Z _whitelogger quit (Remote host closed the connection) 2020-01-23T14:54:04Z seok67 joined #lisp 2020-01-23T14:54:04Z heisig quit (Quit: Leaving) 2020-01-23T14:54:10Z seok67 quit (Remote host closed the connection) 2020-01-23T14:54:31Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-23T14:55:01Z seok: Can someone please direct me to a tutorial on compiling image to an executable? 2020-01-23T14:55:10Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-23T14:55:40Z beach: seok: That would be specific to each implementation. 2020-01-23T14:55:48Z beach: So check the manual for that implementation. 2020-01-23T14:55:52Z seok: for sbcl, but i thought asdf handles it? 2020-01-23T14:56:15Z _whitelogger joined #lisp 2020-01-23T14:56:17Z beach: Check save-lisp-and-die. 2020-01-23T14:56:38Z phoe: seok: https://github.com/Shinmera/deploy 2020-01-23T14:56:48Z seok: Ah nice 2020-01-23T14:57:11Z seok: is the max heap size carried? or can I set it during deployment 2020-01-23T14:57:13Z phoe: that's some scripts around uiop:dump-image 2020-01-23T14:57:22Z phoe: again, implementation-dependent 2020-01-23T14:57:56Z seok: I am trying to move my webserver to cloud, and trying to figure out best way to deploy 2020-01-23T14:59:12Z jackdaniel: if you have a clean build process then you may want to build it on the host machine 2020-01-23T14:59:23Z jackdaniel: moving images between different hosts may be tricky 2020-01-23T14:59:28Z statusf90 quit (Ping timeout: 245 seconds) 2020-01-23T14:59:29Z seok: Right, that might be a good idea 2020-01-23T15:00:15Z jackdaniel: (putting aside architecture differences, libraries you depend on may be in different locations, so image may get confused, signals may be different so you'd need to do a cold-reinit etc) 2020-01-23T15:01:35Z phoe: I tend to run from source 2020-01-23T15:01:43Z phoe: even when deploying onto servers 2020-01-23T15:01:48Z jackdaniel: n.b I know as a fact that on AWS instances mutexes were not fair under SBCL, I think that it could be an emulation problem, but we've never got down the rabbit hole to find what's the real problem) 2020-01-23T15:02:59Z jackdaniel: speaking of a "cloud" - that's just a wet fog which does not belong to you, if you ask me ;) 2020-01-23T15:03:12Z Bad_K4rMa joined #lisp 2020-01-23T15:03:25Z seok: well how else would you start a website from your garage? haha 2020-01-23T15:05:48Z refpga quit (Remote host closed the connection) 2020-01-23T15:05:57Z kajo quit (Ping timeout: 246 seconds) 2020-01-23T15:07:54Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-23T15:10:22Z jonatack quit (Ping timeout: 268 seconds) 2020-01-23T15:22:51Z refpga joined #lisp 2020-01-23T15:23:07Z orivej joined #lisp 2020-01-23T15:24:52Z frgo quit (Read error: Connection reset by peer) 2020-01-23T15:25:12Z frgo joined #lisp 2020-01-23T15:25:22Z pfdietz: Having fun with shared-initialize and with boa lambda lists.' 2020-01-23T15:26:15Z william1_ joined #lisp 2020-01-23T15:27:47Z jonatack joined #lisp 2020-01-23T15:28:28Z Bike: how do those intersect, exactly 2020-01-23T15:29:43Z pfdietz: Trying to add an argument to the constructor that says "default to the slots in this object" 2020-01-23T15:32:08Z dale__ joined #lisp 2020-01-23T15:32:20Z dale__ is now known as dale 2020-01-23T15:37:53Z pfdietz: (make-instance 'foo :original obj-to-be-copied :bar 17) ==> copes obj-to-be-copied, but sets the bar slot to 17 instead. 2020-01-23T15:38:32Z ebrasca: phoe: How to use swank:find-definition-for-thing ? 2020-01-23T15:38:55Z ebrasca: phoe: From repl 2020-01-23T15:39:12Z Bike: where do boa constructors come in? 2020-01-23T15:39:38Z pfdietz: Boa lambda lists let you add extra keyword arguments, and use them in default values for others. 2020-01-23T15:39:48Z pfdietz: So you can define a boa constructor that works much the same way 2020-01-23T15:39:58Z pfdietz: (make-foo :original obj-to-be-copied :bar 17) 2020-01-23T15:40:30Z pfdietz: The boa part is degenerate, as there are no boa arguments there. 2020-01-23T15:40:50Z jonatack quit (Ping timeout: 240 seconds) 2020-01-23T15:41:05Z pfdietz: clhs 3.4.6 2020-01-23T15:41:05Z specbot: Boa Lambda Lists: http://www.lispworks.com/reference/HyperSpec/Body/03_df.htm 2020-01-23T15:42:01Z asdf_asdf_asdf joined #lisp 2020-01-23T15:42:02Z refpga quit (Remote host closed the connection) 2020-01-23T15:42:32Z cdegroot joined #lisp 2020-01-23T15:44:49Z pfdietz: (defstruct (foo (:constructor make-foo (&key (original nil original-p) (bar (if original-p (foo-bar original) nil)))) bar) 2020-01-23T15:45:23Z phoe: ebrasca: just call it 2020-01-23T15:45:32Z phoe: (swank:find-definition-for-thing #'foo) 2020-01-23T15:46:45Z jack_rabbit joined #lisp 2020-01-23T15:46:48Z dddddd quit (Ping timeout: 260 seconds) 2020-01-23T15:47:07Z ebrasca: It gives me error (:ERROR "Error: The value \"#\" is not of type SYMBOL") 2020-01-23T15:47:17Z ebrasca: I have try (swank:find-definition-for-thing #'setf) 2020-01-23T15:48:16Z ebrasca: phoe: ^ 2020-01-23T15:49:14Z william1_ quit (Ping timeout: 240 seconds) 2020-01-23T15:49:23Z phoe: (FUNCTION SETF) is illegal 2020-01-23T15:49:29Z phoe: you want (macro-function 'setf) 2020-01-23T15:50:04Z phoe: (swank:find-definition-for-thing (macro-function 'setf)) works for me 2020-01-23T15:51:03Z gxt quit (Ping timeout: 240 seconds) 2020-01-23T15:51:16Z ebrasca: with this I get : (:ERROR "Error: The value \"#\" is not of type SYMBOL") 2020-01-23T15:56:37Z smazga joined #lisp 2020-01-23T15:58:08Z gravicappa joined #lisp 2020-01-23T15:59:38Z oxum quit (Ping timeout: 252 seconds) 2020-01-23T16:04:20Z EvW quit (Ping timeout: 248 seconds) 2020-01-23T16:07:38Z shifty quit (Ping timeout: 240 seconds) 2020-01-23T16:07:53Z Cymew quit (Ping timeout: 258 seconds) 2020-01-23T16:09:40Z Shinmera: (ql:quickload :definitions) (definitions:find-definitions 'cl:setf) 2020-01-23T16:09:51Z |Pirx_off| is now known as |Pirx| 2020-01-23T16:12:11Z LiamH joined #lisp 2020-01-23T16:12:19Z refpga joined #lisp 2020-01-23T16:14:02Z jmercouris joined #lisp 2020-01-23T16:16:38Z EvW joined #lisp 2020-01-23T16:16:41Z oxum joined #lisp 2020-01-23T16:20:30Z montaropdf quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-23T16:21:17Z oxum quit (Ping timeout: 268 seconds) 2020-01-23T16:27:27Z ebrasca: Shinmera: It is not giving me in what file it is. 2020-01-23T16:27:42Z ljavorsk_ joined #lisp 2020-01-23T16:30:13Z Shinmera: the implementation might not know. 2020-01-23T16:30:20Z ljavorsk quit (Ping timeout: 265 seconds) 2020-01-23T16:30:44Z ebrasca: This "(swank:find-definition-for-thing (symbol-function 'command-inspect))" does what i need. 2020-01-23T16:30:50Z Shinmera: but then I don't know what you're doing either. Did you actually try to resolve the definition's source location with definitions:source-location ? 2020-01-23T16:36:35Z igemnace joined #lisp 2020-01-23T16:46:23Z flamebeard quit 2020-01-23T16:47:48Z EvW quit (Ping timeout: 245 seconds) 2020-01-23T16:51:12Z ebrasca quit (Remote host closed the connection) 2020-01-23T16:52:31Z ebrasca joined #lisp 2020-01-23T16:55:59Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-23T16:58:10Z jmercouris quit (Ping timeout: 265 seconds) 2020-01-23T16:58:28Z Bad_K4rMa quit (Ping timeout: 268 seconds) 2020-01-23T17:00:09Z msk quit (Quit: Leaving) 2020-01-23T17:00:34Z jonatack joined #lisp 2020-01-23T17:04:34Z frgo quit (Remote host closed the connection) 2020-01-23T17:05:11Z frgo joined #lisp 2020-01-23T17:05:15Z ljavorsk_ quit (Ping timeout: 272 seconds) 2020-01-23T17:07:34Z longshi joined #lisp 2020-01-23T17:08:21Z ebrasca quit (Remote host closed the connection) 2020-01-23T17:10:00Z frgo quit (Ping timeout: 268 seconds) 2020-01-23T17:10:33Z ebrasca joined #lisp 2020-01-23T17:10:53Z FreeBird_ quit (Remote host closed the connection) 2020-01-23T17:12:43Z frgo joined #lisp 2020-01-23T17:14:02Z harovali joined #lisp 2020-01-23T17:16:01Z longshi quit (Ping timeout: 272 seconds) 2020-01-23T17:16:47Z harovali1 quit (Ping timeout: 268 seconds) 2020-01-23T17:17:30Z clothespin joined #lisp 2020-01-23T17:19:52Z frgo quit (Ping timeout: 268 seconds) 2020-01-23T17:22:09Z slyrus_ joined #lisp 2020-01-23T17:23:51Z davepdotorg quit (Remote host closed the connection) 2020-01-23T17:24:18Z davepdotorg joined #lisp 2020-01-23T17:24:33Z slyrus quit (Ping timeout: 258 seconds) 2020-01-23T17:27:22Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-23T17:27:22Z Codaraxis quit (Ping timeout: 265 seconds) 2020-01-23T17:29:48Z davepdotorg quit (Ping timeout: 246 seconds) 2020-01-23T17:30:47Z klltkr joined #lisp 2020-01-23T17:37:14Z tiwEllien joined #lisp 2020-01-23T17:37:57Z hhdave quit (Quit: hhdave) 2020-01-23T17:38:26Z gko_ quit (Ping timeout: 240 seconds) 2020-01-23T17:43:21Z william1_ joined #lisp 2020-01-23T17:43:21Z karlosz quit (Quit: karlosz) 2020-01-23T17:47:10Z oxum joined #lisp 2020-01-23T17:50:25Z m00natic quit (Remote host closed the connection) 2020-01-23T17:50:37Z jmercouris joined #lisp 2020-01-23T17:52:48Z vaporatorius__ quit (Quit: Leaving) 2020-01-23T17:53:06Z vaporatorius joined #lisp 2020-01-23T17:58:49Z ngqrl quit (Quit: Connection closed for inactivity) 2020-01-23T18:00:10Z bitmapper joined #lisp 2020-01-23T18:03:37Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-23T18:12:20Z DGASAU quit (Read error: Connection reset by peer) 2020-01-23T18:14:47Z Nilby joined #lisp 2020-01-23T18:15:17Z DGASAU joined #lisp 2020-01-23T18:16:32Z igemnace quit (Read error: Connection reset by peer) 2020-01-23T18:16:57Z william1_ quit (Ping timeout: 265 seconds) 2020-01-23T18:28:26Z cl-arthur joined #lisp 2020-01-23T18:28:37Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-23T18:31:36Z slyrus__ joined #lisp 2020-01-23T18:32:33Z jmercouris: froggey: have you tried Closure in Mezzano? 2020-01-23T18:34:19Z slyrus_ quit (Ping timeout: 258 seconds) 2020-01-23T18:34:47Z gary joined #lisp 2020-01-23T18:35:10Z gary is now known as Guest64556 2020-01-23T18:35:56Z brown121408 quit (Ping timeout: 246 seconds) 2020-01-23T18:35:57Z Guest64556 quit (Client Quit) 2020-01-23T18:36:31Z orivej quit (Ping timeout: 268 seconds) 2020-01-23T18:38:11Z brown121407 joined #lisp 2020-01-23T18:38:57Z froggey: jmercouris: no, what is it? 2020-01-23T18:39:16Z jackdaniel: it was an attempt to write a browser in CLIM 2020-01-23T18:39:19Z ag4xo joined #lisp 2020-01-23T18:39:32Z jackdaniel: I don't know how "loadable" it is 2020-01-23T18:39:38Z rippa joined #lisp 2020-01-23T18:40:05Z jackdaniel: https://gitlab.common-lisp.net/closure/closure 2020-01-23T18:40:35Z jackdaniel: (and this https://common-lisp.net/project/closure/) 2020-01-23T18:41:18Z jmercouris: what jackdaniel said 2020-01-23T18:42:14Z LiamH quit (Quit: Leaving.) 2020-01-23T18:42:25Z froggey: might be interesting to try sometime 2020-01-23T18:42:49Z jmercouris: I'm just curious if it works 2020-01-23T18:43:02Z jmercouris: ebrasca and I have been talking about porting Next to work on Mezzano 2020-01-23T18:43:48Z jmercouris: trying to figure out how to do it best, I was thinking Closure may be a good starting point 2020-01-23T18:43:49Z jackdaniel: isn't the rendering part webkit (which is not lisp)? 2020-01-23T18:43:50Z igemnace joined #lisp 2020-01-23T18:44:03Z pjb quit (Ping timeout: 272 seconds) 2020-01-23T18:44:04Z jmercouris: yeah, that's the problem, the rendering part is a webkit port, or webengine port depending on your choice 2020-01-23T18:44:25Z Xach: port clang to common lisp, build natively 2020-01-23T18:44:34Z jmercouris: lol 2020-01-23T18:44:54Z froggey: heh 2020-01-23T18:45:00Z jmercouris: and I was thinking closure would be a good renderer since it is fully lisp 2020-01-23T18:45:12Z jmercouris: jackdaniel: or were you saying that closure uses webkit to calculate position of things etc? 2020-01-23T18:45:37Z clothespin quit (Ping timeout: 260 seconds) 2020-01-23T18:45:43Z jackdaniel: Xach: froggey created https://github.com/froggey/Iota , so I wouldn't be surprised if he did that ,) 2020-01-23T18:45:50Z froggey: not really possible because of the javascript jit 2020-01-23T18:46:21Z Xach: great excuse to use cl-js! 2020-01-23T18:46:36Z jmercouris: well, yeah we'd have to make a JS runtime 2020-01-23T18:46:49Z jackdaniel: jmercouris: no, I've just said that "porting" your project to "pure" CL is not possible 2020-01-23T18:46:52Z jmercouris: anyways, first version without JS 2020-01-23T18:47:01Z Xach: there is a js runtime in common lisp already 2020-01-23T18:47:02Z jackdaniel: (given that it indeed is build on top of webkit) 2020-01-23T18:47:04Z brown121407 quit (Read error: Connection reset by peer) 2020-01-23T18:47:05Z jmercouris: jackdaniel: sure it is, we have to make a renderer 2020-01-23T18:47:13Z brown121407 joined #lisp 2020-01-23T18:47:13Z jackdaniel: or in other words, porting would be essentialy writing a web browser 2020-01-23T18:47:17Z Xach: i have long wished to make a project for non-CL-nerds which was scripted with cl-js 2020-01-23T18:47:24Z Xach: someday... 2020-01-23T18:47:31Z jmercouris: porting would be writing a web engine, not a web browser 2020-01-23T18:47:36Z jmercouris: a web browser is a chrome + a web engine 2020-01-23T18:47:50Z gigetoo quit (Read error: No route to host) 2020-01-23T18:47:55Z jmercouris: Next is a chrome, which uses either webengine or webkit as its web engine 2020-01-23T18:48:05Z jmercouris: the confusion comes from the creative Google engineers 2020-01-23T18:48:07Z refpga quit (Remote host closed the connection) 2020-01-23T18:48:11Z jackdaniel: to me "web engine" is what constitues the majority of work (ux is important of course, I'm talking about time requirements though) 2020-01-23T18:48:37Z gigetoo joined #lisp 2020-01-23T18:48:42Z jmercouris: web engine is an unfathomable amount of work, yes 2020-01-23T18:49:41Z orivej joined #lisp 2020-01-23T18:50:07Z slyrus_ joined #lisp 2020-01-23T18:50:11Z jackdaniel: in other words you say: "we have 0.01%, all we should do is to port another 99.99%", htat's what I mean that you'd have to write the browser from scratch 2020-01-23T18:50:24Z jackdaniel: I've meant when I've said* 2020-01-23T18:51:32Z jackdaniel: (again, I'm not saying that UX is not important, for some it might be even the most important thing) 2020-01-23T18:51:45Z ag4xo left #lisp 2020-01-23T18:52:20Z ag4xo joined #lisp 2020-01-23T18:52:46Z tiwEllien joined #lisp 2020-01-23T18:52:55Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-23T18:53:33Z jmercouris: making a renderer that works without JS should not be impossible 2020-01-23T18:53:36Z jmercouris: it could be done within a year 2020-01-23T18:55:47Z sjl_ joined #lisp 2020-01-23T18:56:04Z [X-Scale] is now known as X-Scale 2020-01-23T18:56:09Z moon-child quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-01-23T18:58:32Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-23T18:58:39Z slyrus__ joined #lisp 2020-01-23T18:59:38Z jmercouris joined #lisp 2020-01-23T19:01:30Z moon-child joined #lisp 2020-01-23T19:01:37Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-23T19:02:22Z slyrus joined #lisp 2020-01-23T19:04:31Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-23T19:11:03Z bendersteed joined #lisp 2020-01-23T19:11:37Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-23T19:12:15Z jmercouris quit (Ping timeout: 265 seconds) 2020-01-23T19:14:07Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-23T19:15:19Z jmercouris joined #lisp 2020-01-23T19:19:31Z pjb joined #lisp 2020-01-23T19:20:34Z Nilby: I wish I could make my strings with make-string, but "Cannot redefine standard type EXTENDED-CHAR." :( 2020-01-23T19:21:39Z Xach: Nilby: how does make-string prompt that error? 2020-01-23T19:22:02Z Nilby: (defclass fu-char (extended-char) (fu :initarg :fu)) 2020-01-23T19:22:27Z Nilby: Or rather : (defclass fu-char (extended-char) ((fu :initarg :fu))) 2020-01-23T19:22:37Z jmercouris quit (Ping timeout: 258 seconds) 2020-01-23T19:22:58Z Xach: Nilby: so when you "my strings" you mean something other than standard strings? 2020-01-23T19:23:22Z Nilby: Well, yes and no. Extended strings! 2020-01-23T19:23:58Z Nilby: Pretty much I wan the use case that extended characters were put in there for, that of characters with other attributes. 2020-01-23T19:24:15Z Nilby: But I guess only the implementation can do it. 2020-01-23T19:24:22Z sauvin quit (Read error: Connection reset by peer) 2020-01-23T19:24:50Z Nilby: Strings of extended-char would still be strings. 2020-01-23T19:27:03Z cartwright quit (Ping timeout: 240 seconds) 2020-01-23T19:28:14Z jmercouris joined #lisp 2020-01-23T19:29:42Z dddddd joined #lisp 2020-01-23T19:30:41Z varjag joined #lisp 2020-01-23T19:30:52Z cartwright joined #lisp 2020-01-23T19:31:31Z amerlyq quit (Quit: amerlyq) 2020-01-23T19:33:37Z slyrus_ joined #lisp 2020-01-23T19:34:37Z cosimone joined #lisp 2020-01-23T19:36:13Z slyrus quit (Ping timeout: 265 seconds) 2020-01-23T19:36:43Z ggole quit (Quit: Leaving) 2020-01-23T19:38:55Z Codaraxis joined #lisp 2020-01-23T19:39:06Z jmercouris quit (Ping timeout: 258 seconds) 2020-01-23T19:45:03Z klltkr joined #lisp 2020-01-23T19:45:45Z cosimone quit (Quit: Quit.) 2020-01-23T19:47:55Z EvW joined #lisp 2020-01-23T19:50:23Z zooey quit (Ping timeout: 240 seconds) 2020-01-23T19:51:12Z zooey joined #lisp 2020-01-23T19:52:43Z fengshaun_ joined #lisp 2020-01-23T19:52:58Z narimiran quit (Ping timeout: 260 seconds) 2020-01-23T19:53:20Z fengshaun quit (Ping timeout: 265 seconds) 2020-01-23T19:53:26Z Ven`` joined #lisp 2020-01-23T19:53:41Z narimiran joined #lisp 2020-01-23T19:59:58Z tiwEllien quit (Ping timeout: 260 seconds) 2020-01-23T20:06:42Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-23T20:06:55Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-23T20:10:23Z longshi joined #lisp 2020-01-23T20:15:49Z clothespin joined #lisp 2020-01-23T20:25:51Z Codaraxis joined #lisp 2020-01-23T20:27:57Z cosimone joined #lisp 2020-01-23T20:28:29Z jmercouris joined #lisp 2020-01-23T20:28:33Z Odin- joined #lisp 2020-01-23T20:31:00Z scymtym quit (Ping timeout: 248 seconds) 2020-01-23T20:31:03Z bendersteed quit (Remote host closed the connection) 2020-01-23T20:31:47Z oni-on-ion joined #lisp 2020-01-23T20:32:50Z ebrasca quit (Remote host closed the connection) 2020-01-23T20:34:01Z ebrasca joined #lisp 2020-01-23T20:36:24Z terpri_ joined #lisp 2020-01-23T20:37:56Z klltkr quit (Quit: Textual IRC Client: www.textualapp.com) 2020-01-23T20:38:31Z Odin- quit (Read error: Connection reset by peer) 2020-01-23T20:39:03Z terpri quit (Ping timeout: 245 seconds) 2020-01-23T20:44:31Z Odin- joined #lisp 2020-01-23T20:47:14Z pjb: Only the implementation could allow it. 2020-01-23T20:48:05Z pjb: Nilby: you will have to implement your own make-string function along with all the string operators, to implement them with your strings, and fall back to CL operators for normal strings. Shadow, define your extended-string-lisp package, etc. 2020-01-23T20:49:46Z pjb: seok: you can see an example in http://github.com/informatimago/hw 2020-01-23T20:50:51Z pjb: seok: (file generate.lisp) 2020-01-23T20:51:20Z shangul quit (Ping timeout: 265 seconds) 2020-01-23T20:52:00Z narimiran quit (Ping timeout: 268 seconds) 2020-01-23T20:56:11Z Nilby: pjb: Did that. My char-int returns 18138591213958233556254808, so it's probably better that I can't do it anyway. 2020-01-23T21:05:49Z xantoz_ joined #lisp 2020-01-23T21:08:21Z DGASAU quit (Remote host closed the connection) 2020-01-23T21:08:29Z DGASAU joined #lisp 2020-01-23T21:10:24Z pjb: Nilby: happily, there are very few string specific functions. Most are vector functions that will work on your vectors. 2020-01-23T21:13:22Z jdz quit (Ping timeout: 265 seconds) 2020-01-23T21:13:29Z Nilby: Yes. That makes it easier. 2020-01-23T21:13:40Z jdz joined #lisp 2020-01-23T21:14:02Z shifty joined #lisp 2020-01-23T21:15:30Z jack_rabbit quit (Ping timeout: 265 seconds) 2020-01-23T21:17:13Z Nilby: I'm very thankful that the old CL people thought about it. It means at least format can print my characters. 2020-01-23T21:18:17Z pjb: Nilby: this is only by chance: a CL implementation could use not CL functions internally to implement CL functions. 2020-01-23T21:18:20Z Ven`` quit (*.net *.split) 2020-01-23T21:18:20Z orivej quit (*.net *.split) 2020-01-23T21:18:20Z gigetoo quit (*.net *.split) 2020-01-23T21:18:20Z smazga quit (*.net *.split) 2020-01-23T21:18:20Z cdegroot quit (*.net *.split) 2020-01-23T21:18:21Z mingus quit (*.net *.split) 2020-01-23T21:18:21Z dsp- quit (*.net *.split) 2020-01-23T21:18:51Z jxy quit (*.net *.split) 2020-01-23T21:18:51Z mathrick quit (*.net *.split) 2020-01-23T21:18:51Z minion quit (*.net *.split) 2020-01-23T21:18:51Z specbot quit (*.net *.split) 2020-01-23T21:18:51Z XenophonF quit (*.net *.split) 2020-01-23T21:18:51Z CrazyEddy quit (*.net *.split) 2020-01-23T21:18:51Z Posterdati quit (*.net *.split) 2020-01-23T21:18:51Z cmatei quit (*.net *.split) 2020-01-23T21:18:51Z emacsomancer quit (*.net *.split) 2020-01-23T21:18:51Z epony quit (*.net *.split) 2020-01-23T21:18:51Z samebchase quit (*.net *.split) 2020-01-23T21:18:51Z Colleen quit (*.net *.split) 2020-01-23T21:18:51Z dxtr quit (*.net *.split) 2020-01-23T21:18:51Z ck_ quit (*.net *.split) 2020-01-23T21:18:51Z isoraqathedh quit (*.net *.split) 2020-01-23T21:18:51Z brass quit (*.net *.split) 2020-01-23T21:18:51Z xantoz quit (*.net *.split) 2020-01-23T21:18:51Z HDurer quit (*.net *.split) 2020-01-23T21:18:51Z galdor quit (*.net *.split) 2020-01-23T21:18:51Z rotty quit (*.net *.split) 2020-01-23T21:18:51Z surrounder quit (*.net *.split) 2020-01-23T21:18:51Z MetaYan quit (*.net *.split) 2020-01-23T21:18:51Z eeeeeta quit (*.net *.split) 2020-01-23T21:18:51Z pjb: Nilby: in some cases, it has. For example, to read lists, you cannot use READ, because of the dotted lists. 2020-01-23T21:19:11Z pjb: READ or READ-DELIMITED-LIST. (the later is not READ-DELIMITED-LIST-OR-DOTTED-LISTS. 2020-01-23T21:20:03Z phoe: wait a second pjb 2020-01-23T21:20:05Z Nilby: No, it really works in every CL I've tested. 2020-01-23T21:20:09Z phoe: (read-from-string "(1 . 2)") 2020-01-23T21:20:23Z pjb: Nilby: to implement READ, you cannot use READ. 2020-01-23T21:20:45Z pjb: Or to implement the #\( reader macro. 2020-01-23T21:20:52Z Nilby: Well, yes, sort of, but only for structs. 2020-01-23T21:21:12Z phoe: pjb: I don't understand the part "because of the dotted lists" 2020-01-23T21:22:10Z emaczen joined #lisp 2020-01-23T21:23:29Z emaczen: What is the equivalent of the address operator & from C in SBCL? I know about sb-alien:addr but I'm looking for something I think that would come from sb-sys: 2020-01-23T21:23:53Z pjb: https://github.com/informatimago/lisp/blob/master/common-lisp/lisp-reader/reader.lisp#L1310 2020-01-23T21:23:58Z asdf_asdf_asdf quit (Ping timeout: 260 seconds) 2020-01-23T21:24:35Z pjb: but foremost: https://github.com/informatimago/lisp/blob/master/common-lisp/lisp-reader/reader.lisp#L1592 2020-01-23T21:24:49Z phoe: emaczen: what are you trying to get an address of? 2020-01-23T21:25:10Z emaczen: I'm doing FFI stuff, so a C pointer 2020-01-23T21:25:30Z pjb: emaczen: it's there: http://informatimago.com/articles/usenet.html#C-like-pointers-in-Lisp 2020-01-23T21:25:32Z MetaYan joined #lisp 2020-01-23T21:25:33Z papachan joined #lisp 2020-01-23T21:25:37Z dsp- joined #lisp 2020-01-23T21:25:38Z ck_ joined #lisp 2020-01-23T21:25:53Z smazga joined #lisp 2020-01-23T21:25:57Z gigetoo joined #lisp 2020-01-23T21:25:57Z dxtr joined #lisp 2020-01-23T21:26:00Z pjb: emaczen: you cannot take the address of a lisp object, since they can move. 2020-01-23T21:26:09Z XenophonF joined #lisp 2020-01-23T21:26:10Z phoe: pjb: that doesn't really answer my question. What is the issue of dotted pairs in READ? 2020-01-23T21:26:12Z eeeeeta joined #lisp 2020-01-23T21:26:13Z HDurer joined #lisp 2020-01-23T21:26:14Z jxy joined #lisp 2020-01-23T21:26:21Z phoe: emaczen: in CFFI it's mem-ref 2020-01-23T21:26:41Z pjb: phoe: READ uses the #\( reader macro to read dotted lists. READ cannot read dots. So #\( cannot use READ to read dotted lists. 2020-01-23T21:26:43Z White_Flame: also, pinning can be a thing 2020-01-23T21:27:06Z pjb: phoe: so an implementation needs to use an internal read-0/1 routine in both read and the #\( reader macro. See my reader. 2020-01-23T21:27:06Z emacsomancer joined #lisp 2020-01-23T21:27:17Z phoe: (with-input-from-string (s "(1 . 2)") (read s)) ;=> (1 . 2) 2020-01-23T21:27:18Z phoe: wat 2020-01-23T21:27:28Z pjb: phoe: of course, you can also implement #\( without this internal routine, but then you have to duplicate code. 2020-01-23T21:27:54Z pjb: the point here is that the implementation #\( can use internal functions, not exported from CL. 2020-01-23T21:28:07Z Colleen joined #lisp 2020-01-23T21:28:10Z Nilby: emaczen: cffi:pointer-address does sb-sys:sap-int if that's what you mean? 2020-01-23T21:28:13Z phoe: oh yes, that's correct 2020-01-23T21:28:26Z phoe: emaczen: sb-sys:sap-ref-{8,16,32,64} ? 2020-01-23T21:28:33Z phoe: CFFI uses these internally, https://github.com/cffi/cffi/blob/master/src/cffi-sbcl.lisp#L246 2020-01-23T21:29:07Z emaczen: Nilby: No, like when you have a C variable and the function takes a pointer to that type you just pass the address of that variable with & 2020-01-23T21:29:19Z shifty quit (Ping timeout: 265 seconds) 2020-01-23T21:30:08Z White_Flame: just to be clear, are you trying to get the address of a lisp object, or of a C/alien object? 2020-01-23T21:30:16Z emaczen: C object 2020-01-23T21:30:17Z Shinmera: emaczen: int x; foo(&x); == (cffi:with-foreign-object (x :int) (cffi:foreign-funcall "foo" :pointer x)) 2020-01-23T21:31:40Z emaczen: Like if I wanted a pointer to a C string I've been mallocing a word block and pointing to the C string with sb-sys:sap-ref-sap 2020-01-23T21:32:01Z emaczen: If that is the best way to do this then I guess I can make a macro to reduce the tedium 2020-01-23T21:32:21Z Nilby: Both C & Lisp always have the address anyway. When you say &var in C, it's just saying don't do the weird thing of passing by value. 2020-01-23T21:32:25Z phoe: wait a second though 2020-01-23T21:32:34Z Nilby: So SAP in lisp is a pointer 2020-01-23T21:32:44Z phoe: there's no concept of a "C variable" in Lisp 2020-01-23T21:32:50Z phoe: the best you can have is raw allocated memory 2020-01-23T21:32:53Z phoe: or, basically, a SAP 2020-01-23T21:33:03Z phoe: so you can pass a SAP wherever a function expects a pointer 2020-01-23T21:33:26Z phoe: since all pointers are effectively untyped in CFFI, you only specify their type when dereferencing them 2020-01-23T21:33:48Z asdf_asdf_asdf joined #lisp 2020-01-23T21:36:57Z random-nick quit (Ping timeout: 272 seconds) 2020-01-23T21:37:47Z z147x quit (Remote host closed the connection) 2020-01-23T21:38:06Z Nilby: All the sap-ref-* things are basically doing & what would be in C. 2020-01-23T21:38:09Z z147x joined #lisp 2020-01-23T21:38:24Z Nilby: But for Lisp objects. 2020-01-23T21:38:33Z notzmv quit (Ping timeout: 260 seconds) 2020-01-23T21:38:48Z emaczen: Nilby: Yea, C kind of provides a little syntactic shortcut -- I just made a macro 2020-01-23T21:39:02Z emaczen: I thought there might have been something in sb-sys: since there is in sb-alien 2020-01-23T21:39:51Z Nilby: Of course there's also sb-alien:deref 2020-01-23T21:40:06Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-23T21:40:31Z Nilby: But that's a bit more complicated. 2020-01-23T21:41:40Z jmercouris quit (Remote host closed the connection) 2020-01-23T21:41:59Z Nilby: Or also in the "alien" package lingo theres: sb-alien:alien-sap 2020-01-23T21:42:47Z asdf_asdf_asdf: What is question? 2020-01-23T21:43:17Z phoe: asdf_asdf_asdf: there's channel logs available in the channel topic 2020-01-23T21:43:25Z phoe: I find them useful to read up on context 2020-01-23T21:47:59Z asdf_asdf_asdf: I don't know, which is question, but OK. 2020-01-23T21:48:25Z papachan: https://awake.vc/lisp/ 2020-01-23T21:49:52Z Shinmera: This has nothing to do with Common Lisp. 2020-01-23T21:50:28Z jonatack quit (Ping timeout: 248 seconds) 2020-01-23T21:51:23Z phoe: this is some VC startup bullshit with three very nice puns at the end of the page 2020-01-23T21:51:30Z no-defun-allowed: You haven't seen nothing if you think Clojure is the best at abstraction. 2020-01-23T21:53:01Z no-defun-allowed: (also lol no MOP) 2020-01-23T21:54:28Z aeth: papachan: ##lisp is for the "Lisp" family of languages, #lisp (this channel) is for "Common Lisp". 2020-01-23T21:54:48Z aeth: papachan: I think you want to post that link to ##lisp instead 2020-01-23T21:55:10Z LdBeth: gg 2020-01-23T21:55:28Z aeth: (Whether or not Clojure is a Lisp because it doesn't use true conses for its syntax is a minor holy war on the Internet, but ##lisp's topic includes Clojure explicitly so it is on topic there.) 2020-01-23T21:56:20Z aeth: (Even though in practice ##lisp mostly just #scheme part 2 since most Lisps are Schemes) 2020-01-23T21:58:35Z jonatack joined #lisp 2020-01-23T21:59:24Z harovali quit (Ping timeout: 268 seconds) 2020-01-23T22:00:00Z Nilby: "I wish Lisp was more popular.", while holding monkey's paw. Mu-hahhaha. Clojure, is knocking. 2020-01-23T22:00:29Z no-defun-allowed: Nilby: )^: 2020-01-23T22:01:31Z emaczen: Does anyone know of a standard C function using struct tm that I can test passing by value 2020-01-23T22:01:43Z scymtym joined #lisp 2020-01-23T22:01:43Z Ven`` joined #lisp 2020-01-23T22:01:43Z orivej joined #lisp 2020-01-23T22:01:43Z cdegroot joined #lisp 2020-01-23T22:01:43Z mingus joined #lisp 2020-01-23T22:01:43Z CrazyEddy joined #lisp 2020-01-23T22:01:43Z mathrick joined #lisp 2020-01-23T22:01:43Z minion joined #lisp 2020-01-23T22:01:43Z specbot joined #lisp 2020-01-23T22:01:43Z Posterdati joined #lisp 2020-01-23T22:01:43Z cmatei joined #lisp 2020-01-23T22:01:43Z epony joined #lisp 2020-01-23T22:01:43Z samebchase joined #lisp 2020-01-23T22:01:43Z isoraqathedh joined #lisp 2020-01-23T22:01:43Z brass joined #lisp 2020-01-23T22:01:43Z galdor joined #lisp 2020-01-23T22:01:43Z rotty joined #lisp 2020-01-23T22:01:43Z surrounder joined #lisp 2020-01-23T22:03:02Z minion quit (Disconnected by services) 2020-01-23T22:03:04Z minion joined #lisp 2020-01-23T22:03:49Z specbot quit (Disconnected by services) 2020-01-23T22:03:52Z specbot joined #lisp 2020-01-23T22:04:03Z Nilby: emaczen: There aren't any. Nor in unix/linux kernel, or most unix-ish C lib. MacOS/iOS and Windows, do though. 2020-01-23T22:04:37Z phoe: emaczen: you could try writing your own trivial C function, prove that it works properly, and then compile it into a shared object that you then load. 2020-01-23T22:04:42Z epony quit (Max SendQ exceeded) 2020-01-23T22:05:08Z epony joined #lisp 2020-01-23T22:05:12Z phoe: That would also mean that you have a minimal working PoC test case. 2020-01-23T22:05:24Z phoe: As in, not dependent on any other foreign libs. 2020-01-23T22:06:13Z emaczen: phoe: Yea, I've done some similar things 2020-01-23T22:06:41Z emaczen: I thought about generating a new objc function for every one that passes/returns structs with a pointer 2020-01-23T22:07:05Z papachan: aeth yeah iwould post it to ##lisp. so. sorry for this. 2020-01-23T22:07:37Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-01-23T22:08:08Z Nilby: Pass by struct seems like weird quirk/misunderstanding of C, which C++ solved by just letting you not have to type literal '&'. 2020-01-23T22:09:24Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-23T22:09:59Z notzmv joined #lisp 2020-01-23T22:10:11Z emaczen: Does anyone think generating the equivalent objc methods with pointers instead of struct by values, and then compiling it as a shared object is too dirty? pjb: What do you suggest? fiddlerwoaroof_: what do you think? 2020-01-23T22:11:09Z LdBeth: I’ve seen things more dirty than that 2020-01-23T22:11:21Z Shinmera: emaczen: It's what I do in, for example, cl-steamworks 2020-01-23T22:11:46Z Shinmera: Not with objc, but just c wrappers to unpack/repack the structs. 2020-01-23T22:12:14Z emaczen: I just don't like that about 10% of all objc methods have a struct (really only NSRange NSPoint NSSize and NSRect) 2020-01-23T22:13:54Z emaczen: Shinmera: About what percentage of functions use structs? 2020-01-23T22:14:07Z Shinmera: there's three functions, so I just wrote it by hand. 2020-01-23T22:14:17Z Nilby: And I think mostly because it's an optimization becuase those can fit in a register or a few registers. 2020-01-23T22:15:30Z emaczen: Shinmera: Yeah, I did it once for a single objc method that I was overriding 2020-01-23T22:15:33Z Shinmera: you can probably get away with a generic un/pack function that you pass a function pointer + args to or something, so you only have to write it for each type of struct to un/pack. 2020-01-23T22:16:08Z XenophonF left #lisp 2020-01-23T22:17:10Z emaczen: Nilby: What optimization? 2020-01-23T22:19:47Z Nilby: Just that you don't have to do the extra de-reference if your struct can fit in a machine word or a couple of words. 2020-01-23T22:20:27Z Nilby: That way you also don't have to worry about allocation, which we don't worry much about in Lisp anyway. 2020-01-23T22:21:48Z Nilby: Note that they also "fixed" the issue in Swift. 2020-01-23T22:22:06Z emaczen: Nilby: Elaborate please. 2020-01-23T22:23:33Z pjb: emaczen: it depends on the ABI. 2020-01-23T22:23:33Z Nilby: To pass a struct by pointer, you have to allocate it in stack or heap, and then dereference it at least once, probably more. To pass by value, if it's small enough you can just cram it in registers and then call the function. 2020-01-23T22:26:21Z longshi quit (Ping timeout: 272 seconds) 2020-01-23T22:28:10Z Nilby: It does vary with ABI, so the way that it works could theoretically vary based on which complier, but there is a fairly standard way that's documented in, for example the Intel archetecture. Note that a Lisp FFI may have to do multiple ABIs. 2020-01-23T22:28:44Z emaczen: pjb: Why? I was just going to generate objc code by literally (with-open-file (format ) ....) then (run-program gcc ...) to compile it as a shared object 2020-01-23T22:28:49Z asdf_asdf_asdf: Nilby, You mean (addr (slot (make-alien (struct your-struct)) 'slot1))? 2020-01-23T22:29:05Z Nilby: I had the misfortune of coding in C a lot before any C compiler could pass by struct. 2020-01-23T22:29:29Z pjb: emaczen: well, if you generate a simplier API, of course. 2020-01-23T22:29:35Z Nilby: asdf_asdf_asdf: Sort of, yes. 2020-01-23T22:31:36Z Bike quit (Quit: Bike) 2020-01-23T22:32:26Z emaczen: pjb: For example, with -(void)drawRect:(NSRect)aRect I could define -(void)drawRectPointer:(NSRectPointer)ptr and the implementation of drawRectPointer: would just call drawRect: by dereferencing the pointer 2020-01-23T22:33:38Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-23T22:33:53Z emaczen: Nilby: How did swift "fix" it? 2020-01-23T22:33:55Z quazimodo joined #lisp 2020-01-23T22:34:47Z Nilby: There are no pointers. Or at least you have to say the word "Unsafe" which is scary. 2020-01-23T22:36:27Z Nilby: But of course saying there are no pointers, is not really true, just like in Lisp. But really more like: let the compiler figure it out. 2020-01-23T22:37:38Z asdf_asdf_asdf: Nilby, you mean: https://cpy.pt/kDybbK2Y ? 2020-01-23T22:38:38Z quazimodo quit (Ping timeout: 260 seconds) 2020-01-23T22:39:13Z |Pirx|: java has this "inner classes" thing because they have no pointers, but they're really a pointer 2020-01-23T22:40:31Z quazimodo joined #lisp 2020-01-23T22:44:47Z msk joined #lisp 2020-01-23T22:47:21Z Nilby left #lisp 2020-01-23T22:48:00Z seok quit (Remote host closed the connection) 2020-01-23T22:56:58Z Codaraxis_ joined #lisp 2020-01-23T22:59:50Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-23T23:03:09Z slyrus__ joined #lisp 2020-01-23T23:05:49Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-23T23:24:56Z varjag quit (Ping timeout: 268 seconds) 2020-01-23T23:24:57Z raghavgururajan joined #lisp 2020-01-23T23:25:49Z davepdotorg joined #lisp 2020-01-23T23:27:09Z pjb quit (Ping timeout: 272 seconds) 2020-01-23T23:27:50Z cosimone quit (Quit: Quit.) 2020-01-23T23:29:03Z shifty joined #lisp 2020-01-23T23:29:04Z pjb joined #lisp 2020-01-23T23:30:33Z davepdotorg quit (Ping timeout: 260 seconds) 2020-01-23T23:32:32Z statusf90 joined #lisp 2020-01-23T23:34:03Z clothespin quit (Ping timeout: 260 seconds) 2020-01-23T23:37:14Z Bike joined #lisp 2020-01-23T23:37:19Z efm_ joined #lisp 2020-01-23T23:40:47Z |Pirx| quit (Ping timeout: 260 seconds) 2020-01-23T23:41:27Z Codaraxis_ quit (Read error: Connection reset by peer) 2020-01-23T23:45:18Z harovali joined #lisp 2020-01-23T23:48:59Z frodef quit (Ping timeout: 268 seconds) 2020-01-23T23:49:50Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-23T23:50:13Z shifty quit (Ping timeout: 268 seconds) 2020-01-23T23:50:54Z shifty joined #lisp 2020-01-23T23:58:11Z shifty quit (Ping timeout: 272 seconds) 2020-01-23T23:58:29Z shifty joined #lisp 2020-01-24T00:00:00Z harovali: hi! trying to run cl-ncurses, my distro fails to provide the /usr/lib/libncurses.so file the library asks for. There are other files in my /usr fs which could be equivalent to what cl-ncurses expects, but I'm trying blind on it, any helpis welcome 2020-01-24T00:03:21Z Lord_of_Life_ joined #lisp 2020-01-24T00:04:57Z shifty quit (Ping timeout: 265 seconds) 2020-01-24T00:05:09Z shifty joined #lisp 2020-01-24T00:06:00Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-01-24T00:06:00Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-24T00:06:18Z pjb: harovali: perhaps asking on the channel of your distro for the replacement they put for ncurses? 2020-01-24T00:07:04Z pjb: harovali: I would propose you to download, compile and install your own copy of ncurses. Probably in /usr/local/lib, in which case you may have to add this path to cffi:*foreign-library-directories*. 2020-01-24T00:07:53Z harovali: pjb: I'll try that , thank you very much 2020-01-24T00:17:44Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-24T00:18:30Z Ven`` joined #lisp 2020-01-24T00:18:34Z Ven`` quit (Client Quit) 2020-01-24T00:20:08Z shifty quit (Ping timeout: 260 seconds) 2020-01-24T00:20:21Z shifty joined #lisp 2020-01-24T00:20:39Z varjag joined #lisp 2020-01-24T00:24:03Z z147x quit (Ping timeout: 240 seconds) 2020-01-24T00:24:18Z Bad_K4rMa joined #lisp 2020-01-24T00:25:23Z varjag quit (Ping timeout: 260 seconds) 2020-01-24T00:28:35Z swills quit (Ping timeout: 272 seconds) 2020-01-24T00:31:00Z EvW quit (Ping timeout: 248 seconds) 2020-01-24T00:34:43Z swills joined #lisp 2020-01-24T00:36:13Z harovali: pjb do you know if any ncurses version number is known to be needed for cl-ncurses? 2020-01-24T00:37:39Z smazga quit (Quit: leaving) 2020-01-24T00:42:07Z longshi joined #lisp 2020-01-24T00:42:07Z akoana joined #lisp 2020-01-24T00:42:19Z orivej quit (Ping timeout: 258 seconds) 2020-01-24T00:44:04Z karlosz joined #lisp 2020-01-24T00:44:36Z clothespin joined #lisp 2020-01-24T00:46:13Z terpri_ quit (Quit: Leaving) 2020-01-24T00:49:51Z Bad_K4rMa quit (Read error: Connection reset by peer) 2020-01-24T00:50:19Z earl-ducaine quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-24T00:50:26Z shifty quit (Ping timeout: 240 seconds) 2020-01-24T00:50:45Z turona quit (Ping timeout: 272 seconds) 2020-01-24T00:50:45Z turona_ joined #lisp 2020-01-24T00:50:46Z turona_ quit (Max SendQ exceeded) 2020-01-24T00:50:46Z shifty joined #lisp 2020-01-24T00:50:54Z turona joined #lisp 2020-01-24T00:50:57Z harovali quit (Read error: Connection reset by peer) 2020-01-24T00:51:54Z orivej joined #lisp 2020-01-24T00:58:18Z raghavgururajan joined #lisp 2020-01-24T00:59:33Z Bad_K4rMa joined #lisp 2020-01-24T01:03:46Z Oladon joined #lisp 2020-01-24T01:09:15Z terpri joined #lisp 2020-01-24T01:09:16Z efm_ quit (Quit: Konversation terminated!) 2020-01-24T01:09:39Z efm joined #lisp 2020-01-24T01:10:08Z mre345 joined #lisp 2020-01-24T01:10:35Z swills quit (Quit: No Ping reply in 180 seconds.) 2020-01-24T01:12:02Z mre345 quit (Client Quit) 2020-01-24T01:12:15Z swills joined #lisp 2020-01-24T01:18:05Z ebzzry joined #lisp 2020-01-24T01:20:35Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-24T01:20:49Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-24T01:21:21Z clothespin left #lisp 2020-01-24T01:21:24Z clothespin joined #lisp 2020-01-24T01:24:06Z slyrus_ joined #lisp 2020-01-24T01:26:50Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-24T01:32:09Z Josh_2 joined #lisp 2020-01-24T01:38:34Z asdf_asdf_asdf joined #lisp 2020-01-24T01:39:06Z keep-learning[m] quit (Ping timeout: 264 seconds) 2020-01-24T01:39:08Z rwcom2 joined #lisp 2020-01-24T01:41:13Z rwcom quit (Ping timeout: 260 seconds) 2020-01-24T01:41:14Z rwcom2 is now known as rwcom 2020-01-24T01:45:51Z FreeBirdLjj joined #lisp 2020-01-24T01:49:19Z gko_ joined #lisp 2020-01-24T01:52:06Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-24T01:53:47Z longshi quit (Ping timeout: 260 seconds) 2020-01-24T02:01:14Z swills quit (Ping timeout: 240 seconds) 2020-01-24T02:05:01Z bitmapper quit (Ping timeout: 265 seconds) 2020-01-24T02:06:41Z papachan quit (Ping timeout: 268 seconds) 2020-01-24T02:08:32Z igemnace quit (Ping timeout: 268 seconds) 2020-01-24T02:09:14Z igemnace joined #lisp 2020-01-24T02:18:22Z keep_learning quit (Remote host closed the connection) 2020-01-24T02:19:09Z slyrus__ joined #lisp 2020-01-24T02:22:03Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-24T02:32:43Z Bad_K4rMa joined #lisp 2020-01-24T02:36:18Z sjl joined #lisp 2020-01-24T02:36:33Z FreeBird_ joined #lisp 2020-01-24T02:37:20Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-24T02:46:09Z karlosz quit (Quit: karlosz) 2020-01-24T02:46:42Z karlosz joined #lisp 2020-01-24T02:46:48Z karlosz quit (Remote host closed the connection) 2020-01-24T02:48:29Z karlosz joined #lisp 2020-01-24T02:48:58Z Oladon quit (Quit: Leaving.) 2020-01-24T02:51:55Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-24T02:54:47Z ebzzry quit (Read error: Connection reset by peer) 2020-01-24T02:55:06Z karlosz quit (Quit: karlosz) 2020-01-24T02:55:38Z FreeBird_ quit (Ping timeout: 240 seconds) 2020-01-24T02:55:59Z FreeBirdLjj joined #lisp 2020-01-24T03:00:08Z slyrus_ joined #lisp 2020-01-24T03:03:01Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-24T03:09:19Z kamog joined #lisp 2020-01-24T03:10:39Z jeosol joined #lisp 2020-01-24T03:16:52Z bc2a9334 joined #lisp 2020-01-24T03:20:03Z Oladon joined #lisp 2020-01-24T03:21:47Z bc2a9334 left #lisp 2020-01-24T03:23:35Z |Pirx| joined #lisp 2020-01-24T03:23:53Z |Pirx| quit (Remote host closed the connection) 2020-01-24T03:27:34Z davepdotorg joined #lisp 2020-01-24T03:27:38Z slyrus__ joined #lisp 2020-01-24T03:30:22Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-24T03:30:37Z slyrus_ joined #lisp 2020-01-24T03:32:50Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-24T03:33:13Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-24T03:33:29Z igemnace quit (Quit: WeeChat 2.7) 2020-01-24T03:34:28Z ahungry joined #lisp 2020-01-24T03:46:34Z ebrasca quit (Remote host closed the connection) 2020-01-24T03:58:10Z beach: Good morning everyone! 2020-01-24T03:59:17Z ahungry: mornin 2020-01-24T04:01:04Z FreeBird_ joined #lisp 2020-01-24T04:01:48Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-24T04:04:15Z chocimir joined #lisp 2020-01-24T04:07:13Z Bike quit (Quit: Lost terminal) 2020-01-24T04:14:45Z ag4xo quit 2020-01-24T04:15:16Z ag4xo joined #lisp 2020-01-24T04:15:33Z ag4xo quit (Client Quit) 2020-01-24T04:20:13Z torbo joined #lisp 2020-01-24T04:26:05Z Khisanth quit (Ping timeout: 272 seconds) 2020-01-24T04:28:02Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-24T04:29:58Z Lord_of_Life joined #lisp 2020-01-24T04:31:30Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-24T04:34:15Z statusf90 quit (Quit: statusf90) 2020-01-24T04:39:36Z mingus quit (Ping timeout: 258 seconds) 2020-01-24T04:41:54Z froggey quit (Ping timeout: 268 seconds) 2020-01-24T04:41:55Z Khisanth joined #lisp 2020-01-24T04:43:13Z froggey joined #lisp 2020-01-24T04:46:32Z Josh_2 quit (Remote host closed the connection) 2020-01-24T04:53:27Z oni-on-ion quit (Ping timeout: 260 seconds) 2020-01-24T05:04:16Z kscarlet joined #lisp 2020-01-24T05:05:23Z chocimir quit (Ping timeout: 260 seconds) 2020-01-24T05:09:18Z emys joined #lisp 2020-01-24T05:13:41Z chocimir joined #lisp 2020-01-24T05:17:38Z emys quit (Ping timeout: 260 seconds) 2020-01-24T05:18:04Z dddddd quit (Read error: Connection reset by peer) 2020-01-24T05:18:54Z emaczen quit (Ping timeout: 268 seconds) 2020-01-24T05:19:07Z kscarlet quit (Ping timeout: 265 seconds) 2020-01-24T05:20:48Z torbo quit (Remote host closed the connection) 2020-01-24T05:22:20Z emys joined #lisp 2020-01-24T05:24:11Z ebzzry joined #lisp 2020-01-24T05:24:16Z Oladon quit (Quit: Leaving.) 2020-01-24T05:25:40Z gravicappa joined #lisp 2020-01-24T05:26:01Z davepdotorg joined #lisp 2020-01-24T05:30:26Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-24T05:39:32Z emys quit (Ping timeout: 260 seconds) 2020-01-24T05:41:03Z vlatkoB joined #lisp 2020-01-24T05:42:57Z oldtopman joined #lisp 2020-01-24T05:46:41Z emys joined #lisp 2020-01-24T05:51:26Z emys quit (Ping timeout: 246 seconds) 2020-01-24T05:55:41Z emys joined #lisp 2020-01-24T05:56:54Z swills joined #lisp 2020-01-24T05:57:47Z quazimodo quit (Ping timeout: 265 seconds) 2020-01-24T05:58:01Z quazimodo joined #lisp 2020-01-24T06:00:27Z dale quit (Quit: My computer has gone to sleep) 2020-01-24T06:01:22Z chocimir quit (Ping timeout: 265 seconds) 2020-01-24T06:04:23Z emys quit (Ping timeout: 246 seconds) 2020-01-24T06:04:51Z ebzzry: Is there a way to temporarily disable the package reader when reading the symbol X:Y ? 2020-01-24T06:06:41Z ebzzry: Can something be done with the current readtable to achieve that? 2020-01-24T06:08:23Z varjag joined #lisp 2020-01-24T06:09:20Z hdasch quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) 2020-01-24T06:09:53Z pjb: ebzzry: you can put a reader macro on all the consituent characters, and from there, read the syntax you want. 2020-01-24T06:10:18Z pjb: ebzzry: note that some implementations use an a-list to implement readtables… 2020-01-24T06:10:32Z pjb: ebzzry: char-code-limit #| --> 1114112 |# 2020-01-24T06:12:30Z ebzzry: pjb: thanks! 2020-01-24T06:12:53Z emys joined #lisp 2020-01-24T06:15:47Z hdasch joined #lisp 2020-01-24T06:16:58Z X-Scale` joined #lisp 2020-01-24T06:17:29Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-24T06:17:29Z Josh_2 joined #lisp 2020-01-24T06:18:14Z X-Scale` is now known as X-Scale 2020-01-24T06:18:29Z White_Flame: ebzzry: if you only converted colon to a constituent, you'd get the symbol named "X:Y" 2020-01-24T06:18:36Z sauvin joined #lisp 2020-01-24T06:18:45Z White_Flame: hmm, but it might be lower level than that 2020-01-24T06:20:49Z White_Flame: yeah, colon is constituent already 2020-01-24T06:23:31Z beach: ebzzry: I recommend you use Eclector. It lets you interpret tokens whatever way you like. 2020-01-24T06:24:19Z narimiran joined #lisp 2020-01-24T06:25:30Z emys quit (Ping timeout: 268 seconds) 2020-01-24T06:27:41Z gko_ quit (Ping timeout: 272 seconds) 2020-01-24T06:27:58Z zaquest quit (Quit: Leaving) 2020-01-24T06:28:15Z gko_ joined #lisp 2020-01-24T06:28:46Z varjag quit (Ping timeout: 268 seconds) 2020-01-24T06:32:57Z emys joined #lisp 2020-01-24T06:32:58Z ebzzry: thanks! 2020-01-24T06:37:43Z madage quit (Ping timeout: 240 seconds) 2020-01-24T06:38:13Z pjb: ebzzry: it may be easier to write foo\:bar or |FOO:BAR| 2020-01-24T06:40:16Z ebzzry: pjb: I agree. However, the syntax of the language is that there can be embedded colons inside it, like foo:bar. 2020-01-24T06:41:17Z emys quit (Ping timeout: 265 seconds) 2020-01-24T06:43:32Z ahungry quit (Remote host closed the connection) 2020-01-24T06:44:58Z emys joined #lisp 2020-01-24T06:48:21Z madage joined #lisp 2020-01-24T06:52:10Z quazimodo quit (Read error: Connection reset by peer) 2020-01-24T06:54:26Z quazimodo joined #lisp 2020-01-24T06:59:31Z scymtym quit (Ping timeout: 258 seconds) 2020-01-24T07:01:06Z beach: ebzzry: READ is meant for reading Common Lisp expressions. If you want to read something else, it is usually a better idea to write a parser for it, rather than trying to twist READ into something that it was not meant for. 2020-01-24T07:04:57Z emys quit (Ping timeout: 246 seconds) 2020-01-24T07:09:54Z akoana left #lisp 2020-01-24T07:10:21Z malfort quit (Remote host closed the connection) 2020-01-24T07:10:38Z malfort joined #lisp 2020-01-24T07:17:50Z chocimir joined #lisp 2020-01-24T07:21:18Z emaczen joined #lisp 2020-01-24T07:27:21Z Roland joined #lisp 2020-01-24T07:29:07Z brown121407 quit (Ping timeout: 272 seconds) 2020-01-24T07:32:43Z emys joined #lisp 2020-01-24T07:39:48Z scymtym joined #lisp 2020-01-24T07:41:26Z varjag joined #lisp 2020-01-24T07:41:54Z emys quit (Ping timeout: 265 seconds) 2020-01-24T07:44:26Z nullman quit (Ping timeout: 268 seconds) 2020-01-24T07:45:38Z davepdotorg joined #lisp 2020-01-24T07:45:57Z emys joined #lisp 2020-01-24T07:47:03Z xantoz_ is now known as xantoz 2020-01-24T07:50:28Z davepdotorg quit (Ping timeout: 260 seconds) 2020-01-24T07:51:04Z nullman joined #lisp 2020-01-24T07:54:16Z chocimir quit (Ping timeout: 265 seconds) 2020-01-24T07:57:01Z cl-arthur quit (Quit: Lost terminal) 2020-01-24T07:58:25Z tiwEllien joined #lisp 2020-01-24T07:58:48Z emys quit (Ping timeout: 268 seconds) 2020-01-24T08:08:46Z bendersteed joined #lisp 2020-01-24T08:17:55Z Cymew joined #lisp 2020-01-24T08:27:47Z emys joined #lisp 2020-01-24T08:40:04Z emys quit (Ping timeout: 248 seconds) 2020-01-24T08:40:10Z ggole joined #lisp 2020-01-24T08:46:05Z wxie joined #lisp 2020-01-24T08:47:40Z gxt joined #lisp 2020-01-24T08:48:10Z emys joined #lisp 2020-01-24T08:49:26Z vlatkoB quit (Remote host closed the connection) 2020-01-24T08:50:40Z vlatkoB joined #lisp 2020-01-24T08:55:03Z jprajzne quit (Quit: jprajzne) 2020-01-24T08:55:28Z jprajzne joined #lisp 2020-01-24T08:55:58Z montaropdf joined #lisp 2020-01-24T08:57:50Z Roland left #lisp 2020-01-24T08:59:34Z jprajzne quit (Client Quit) 2020-01-24T08:59:55Z jprajzne joined #lisp 2020-01-24T09:01:33Z hhdave joined #lisp 2020-01-24T09:04:38Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-24T09:15:38Z gko_ quit (Ping timeout: 240 seconds) 2020-01-24T09:20:46Z raghavgururajan joined #lisp 2020-01-24T09:21:44Z longshi joined #lisp 2020-01-24T09:23:19Z cosimone joined #lisp 2020-01-24T09:23:29Z william1_ joined #lisp 2020-01-24T09:23:30Z splittist: For hysterical raisins I am a (the?) moderator of the beirc-devel mailing list. There is a bit of spam that needs deleting in the moderation queue, but I can't for the life of me recover my password to do so. Could some kind common-lisp.net admin assist? 2020-01-24T09:25:48Z jackdaniel: splittist: if you ask at #common-lisp.net channel you are more likely to get a response 2020-01-24T09:25:57Z jackdaniel: fwiw they are very prompt to help with problems 2020-01-24T09:26:11Z emaczen quit (Ping timeout: 268 seconds) 2020-01-24T09:26:19Z jackdaniel: (intersection #lisp #common-lisp.net) is not #common-lisp.net :) 2020-01-24T09:27:00Z splittist: Of course. Thank you. 2020-01-24T09:27:10Z jackdaniel: sure 2020-01-24T09:29:11Z cosimone quit (Quit: Terminated!) 2020-01-24T09:29:29Z emys quit (Ping timeout: 265 seconds) 2020-01-24T09:29:51Z cosimone joined #lisp 2020-01-24T09:31:32Z davepdotorg joined #lisp 2020-01-24T09:33:23Z montaropdf: Any pointer to a document or package to use the LISP syntax as a database format? 2020-01-24T09:34:04Z montaropdf: I wnat to use LISP to keep records of transaction and to store various types of data in simple tables. 2020-01-24T09:34:12Z montaropdf: s/wnat/want/ 2020-01-24T09:35:22Z montaropdf: I had a look at the datafly package: https://github.com/fukamachi/datafly 2020-01-24T09:35:27Z jackdaniel: library postmodern gives you a "lispy" syntax to sql, it is called s-sql 2020-01-24T09:35:47Z jackdaniel: (it is for postgres) 2020-01-24T09:36:39Z _death: there are also projects like cl-prevalence, rucksack, fact-base.. 2020-01-24T09:37:36Z montaropdf: both datfly nd postmodern are libraries to work with database, I am looking for a database format made of LISP strings. 2020-01-24T09:37:41Z emys joined #lisp 2020-01-24T09:37:44Z aeth: what you want really depends on what you mean by "types of data" 2020-01-24T09:38:36Z aeth: do you want serialization of arbitrary CL data structures? 2020-01-24T09:38:58Z wxie quit (Ping timeout: 260 seconds) 2020-01-24T09:39:21Z jonatack quit (Ping timeout: 265 seconds) 2020-01-24T09:39:55Z jackdaniel: is it a database then? 2020-01-24T09:42:45Z emys quit (Ping timeout: 272 seconds) 2020-01-24T09:43:07Z emys joined #lisp 2020-01-24T09:44:25Z fengshaun_ quit (Quit: bibi!) 2020-01-24T09:44:39Z montaropdf: fact-base seems to be close to what I am looking for. 2020-01-24T09:45:18Z fengshaun joined #lisp 2020-01-24T09:46:51Z montaropdf: My idea was to have one table per file, with the table definition at the top and transaction records or data records following the definition. the definition and records should be stored as LISP string: a record could look like (insert record-date field1 field2 field3...) 2020-01-24T09:47:32Z montaropdf: s/record-date/transaction-date/ 2020-01-24T09:47:56Z montaropdf: And for data records: (field1 field2 field3...) 2020-01-24T09:48:23Z william1_ quit (Ping timeout: 268 seconds) 2020-01-24T09:48:50Z jackdaniel: maybe defining a class and treating class = table, instance = record, slot = field would suffice? 2020-01-24T09:49:38Z montaropdf: This would allow me to use a simple text editor to edit the DB and use a companion library to create reports or transfert the whole stuff into a more traditional database format. 2020-01-24T09:50:54Z montaropdf: jackdaniel: I will explore that possibility. 2020-01-24T09:53:34Z _death: personally my goto solution would be sqlite 2020-01-24T09:57:02Z shangul joined #lisp 2020-01-24T10:00:08Z nika_ joined #lisp 2020-01-24T10:01:27Z emys quit (Ping timeout: 260 seconds) 2020-01-24T10:02:44Z nika_ quit (Read error: Connection reset by peer) 2020-01-24T10:03:12Z no-defun-allowed: You're supposed to not use goto, right? 2020-01-24T10:03:13Z nika_ joined #lisp 2020-01-24T10:04:54Z _death: when Dijkstra starts lisping gimme a call (preferably a tail call) 2020-01-24T10:05:08Z no-defun-allowed hides TAGBODY 2020-01-24T10:06:16Z emys joined #lisp 2020-01-24T10:14:24Z easye joined #lisp 2020-01-24T10:18:25Z fowlduck quit 2020-01-24T10:18:47Z fowlduck joined #lisp 2020-01-24T10:18:47Z bytesighs quit 2020-01-24T10:19:03Z bytesighs joined #lisp 2020-01-24T10:21:13Z CEnnis91 quit 2020-01-24T10:21:45Z GreaseMonkey quit (Read error: Connection reset by peer) 2020-01-24T10:21:55Z CEnnis91 joined #lisp 2020-01-24T10:21:56Z greaser|q joined #lisp 2020-01-24T10:22:05Z elderK joined #lisp 2020-01-24T10:25:03Z shifty quit (Ping timeout: 260 seconds) 2020-01-24T10:25:50Z shifty joined #lisp 2020-01-24T10:29:14Z amerlyq joined #lisp 2020-01-24T10:29:37Z emys quit (Ping timeout: 272 seconds) 2020-01-24T10:31:50Z shifty quit (Ping timeout: 265 seconds) 2020-01-24T10:32:28Z shifty joined #lisp 2020-01-24T10:43:56Z montaropdf: no-defun-allowed: does goto exist in CL? 2020-01-24T10:44:12Z jackdaniel: montaropdf: it is a pair of tagbody and go operators 2020-01-24T10:44:37Z montaropdf: ????? 2020-01-24T10:44:37Z jackdaniel: i.e (tagbody again (when (foo) (go again ))) 2020-01-24T10:45:13Z jackdaniel: tagbody estabilishes lexical tags to which you may go (as you do with goto in C) 2020-01-24T10:45:49Z montaropdf: I see, something more to learn. 2020-01-24T10:46:23Z jackdaniel: it is usually the most useful when you write looping macros, not something you often encounter in hand-written code 2020-01-24T10:46:29Z jdz: I have one case of PROG in my application. 2020-01-24T10:46:31Z jackdaniel: however it happens, I'm looking at one instance right now 2020-01-24T10:46:53Z jackdaniel: (or when you write a state machine) 2020-01-24T10:47:51Z jackdaniel: I don't dislike prog, it seems like a good syntactic sugar 2020-01-24T10:48:07Z montaropdf: thanks for the information, I need to record that for future study. 2020-01-24T10:48:19Z jackdaniel: sure 2020-01-24T10:48:51Z phoe: I have one PROG that I wrote recently 2020-01-24T10:49:20Z phoe: it is a decent state machine abstraction 2020-01-24T10:49:41Z m00natic joined #lisp 2020-01-24T10:51:47Z shifty quit (Ping timeout: 272 seconds) 2020-01-24T10:51:57Z jonatack joined #lisp 2020-01-24T10:56:02Z nika_ quit (Read error: Connection reset by peer) 2020-01-24T10:56:17Z nika_ joined #lisp 2020-01-24T10:56:59Z jlpeters quit 2020-01-24T10:57:17Z jlpeters joined #lisp 2020-01-24T10:58:01Z v88m joined #lisp 2020-01-24T11:01:23Z pjb: (do ((i 0 (1+ i))) ((< 10 i)) (if (evenp i) (go nope)) (format t "~A " i) nope) #| 1 3 5 7 9 --> nil |# 2020-01-24T11:06:00Z ljavorsk_ joined #lisp 2020-01-24T11:06:21Z jmercouris joined #lisp 2020-01-24T11:08:13Z X-Scale` joined #lisp 2020-01-24T11:08:17Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-24T11:09:32Z X-Scale` is now known as X-Scale 2020-01-24T11:13:58Z wxie joined #lisp 2020-01-24T11:15:44Z Kaisyu quit 2020-01-24T11:16:01Z Kaisyu joined #lisp 2020-01-24T11:18:54Z frgo joined #lisp 2020-01-24T11:24:09Z montaropdf: pjb: thanks for the example 2020-01-24T11:27:45Z bendersteed quit (Remote host closed the connection) 2020-01-24T11:30:57Z jeosol quit (Remote host closed the connection) 2020-01-24T11:34:27Z dddddd joined #lisp 2020-01-24T11:38:09Z jackdaniel: montaropdf: the part pjb did not mention is that do estabilishes an implicit tagbody 2020-01-24T11:38:20Z jackdaniel: "do" as a "DO" operator 2020-01-24T11:40:03Z drmeister quit 2020-01-24T11:40:29Z drmeister joined #lisp 2020-01-24T11:44:00Z montaropdf: jackdaniel: is it in opposition to the "do" keyword in the "LOOP" macro? 2020-01-24T11:47:02Z phoe: nope, the two are different things 2020-01-24T11:47:11Z Josh_2: do is also a looping construct like loop or dotimes etc 2020-01-24T11:47:16Z phoe: the DO in LOOP is a keyword to execute side effects 2020-01-24T11:47:22Z phoe: (loop for i in '(1 2 3 4 5) do (print i)) 2020-01-24T11:47:35Z phoe: the macro CL:DO is an iteration construct on its own 2020-01-24T11:50:43Z mingus joined #lisp 2020-01-24T11:52:42Z montaropdf: I think I am in need to go to #clschool for sometimes ;) 2020-01-24T11:53:45Z wxie quit (Ping timeout: 268 seconds) 2020-01-24T11:54:29Z orivej quit (Ping timeout: 265 seconds) 2020-01-24T11:56:17Z gabiruh joined #lisp 2020-01-24T12:02:44Z wxie joined #lisp 2020-01-24T12:04:14Z ljavorsk_ quit (Ping timeout: 268 seconds) 2020-01-24T12:05:05Z Lord_of_Life_ joined #lisp 2020-01-24T12:07:15Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-24T12:07:56Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-24T12:09:16Z jmercouris: DO is an operator? 2020-01-24T12:09:27Z jmercouris: oh, nvm, I just re-read 2020-01-24T12:13:08Z sabrac joined #lisp 2020-01-24T12:16:49Z Cymew: Someone posted some code written by Greenblatt. He seemed to have liked PROG and GO. It did look a bit like Fortran. ;) 2020-01-24T12:17:43Z aap: old lisp code was full of that 2020-01-24T12:18:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-24T12:22:07Z splittist: I have seen PROG described as the facility for allowing FORTRAN (as it was) programmers to code LISP (as it was) 2020-01-24T12:22:41Z aap: the very first ideas for lisp looked more like fortran anyway 2020-01-24T12:22:54Z aap: the prog feature was meant to be there from the beginning 2020-01-24T12:24:35Z lieven: CL even can do tricks like handing out closures over GO tags. (tagbody .... tag .... (f 1 #'(lambda () (go tag)) ...) and the function f can funcall the closure to return to the tag 2020-01-24T12:25:39Z splittist: aap: true. How else would you write computer programs than in units directly translatable to short runs of machine code? 2020-01-24T12:25:50Z jackdaniel: lieven: if it exits the scope of tagbody it is undefined behavior 2020-01-24T12:26:09Z jackdaniel: s/exits/escapes/ 2020-01-24T12:26:43Z lieven: jackdaniel: yeah 2020-01-24T12:26:58Z lieven: jackdaniel: the SERIES system is implemented with this trick 2020-01-24T12:27:22Z lieven: it's a downward funarg in the jargon of the time, not a full continuation 2020-01-24T12:27:50Z FreeBird_ quit (Ping timeout: 265 seconds) 2020-01-24T12:28:38Z FreeBirdLjj joined #lisp 2020-01-24T12:31:19Z CEnnis91 quit (Quit: Connection closed for inactivity) 2020-01-24T12:32:17Z lucasb joined #lisp 2020-01-24T12:32:31Z jayspeer joined #lisp 2020-01-24T12:34:56Z montaropdf: With regard to my lisp db idea, I have published an org file describing my thought on the subject: https://github.com/montaropdf/reve-workshop/tree/dev/docs/notes 2020-01-24T12:34:57Z nika_ quit (Read error: Connection reset by peer) 2020-01-24T12:35:48Z nika_ joined #lisp 2020-01-24T12:37:13Z Josh_2 quit (Remote host closed the connection) 2020-01-24T12:37:35Z EvW1 joined #lisp 2020-01-24T12:37:55Z longshi quit (Quit: WeeChat 2.7) 2020-01-24T12:45:50Z jayspeer left #lisp 2020-01-24T12:49:15Z ebzzry quit (Read error: Connection reset by peer) 2020-01-24T12:50:46Z shifty joined #lisp 2020-01-24T12:53:43Z random-nick joined #lisp 2020-01-24T13:02:11Z pjb: aap: or perhaps you mean flpl? http://informatimago.com/articles/flpl/flpl.html 2020-01-24T13:12:19Z aap: pjb: no, lisp as described in the first AI memos 2020-01-24T13:15:40Z gko_ joined #lisp 2020-01-24T13:18:19Z XenophonF joined #lisp 2020-01-24T13:19:11Z ebzzry joined #lisp 2020-01-24T13:23:11Z jmercouris: montaropdf: I like it, please let me know when there is something to try 2020-01-24T13:25:11Z montaropdf: jmercouris: as I foresee it its primary use will be through a text editor to add transactions or modify data record, so you could already try it to verify it is as editor and programming language friendly as it seems as of now. 2020-01-24T13:25:23Z jonatack quit (Quit: jonatack) 2020-01-24T13:25:30Z montaropdf: I will make a try of that sort during the week-end. 2020-01-24T13:28:13Z jmercouris: montaropdf: OK, I think it is ambitious for one week-end, good luck! :-) 2020-01-24T13:30:13Z montaropdf: jmercouris: I was speaking about trying the file format to hold data, not coding anything that could act on the data. 2020-01-24T13:30:40Z montaropdf: And it would be very ambitious to code that in a week-end 2020-01-24T13:32:53Z swills quit (Ping timeout: 260 seconds) 2020-01-24T13:34:13Z swills joined #lisp 2020-01-24T13:36:37Z jmercouris: I see :-D 2020-01-24T13:41:03Z swills quit (Ping timeout: 260 seconds) 2020-01-24T13:43:04Z swills joined #lisp 2020-01-24T13:44:13Z teej quit 2020-01-24T13:45:40Z teej joined #lisp 2020-01-24T13:47:19Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-24T13:48:55Z pfdietz quit (Remote host closed the connection) 2020-01-24T13:50:40Z msk quit (Remote host closed the connection) 2020-01-24T13:52:58Z msk joined #lisp 2020-01-24T13:53:36Z physpi quit 2020-01-24T13:54:29Z physpi joined #lisp 2020-01-24T13:54:53Z ralt joined #lisp 2020-01-24T13:58:44Z montaropdf: BTW, any comments about the syntax consistency of the various forms/expressions described? 2020-01-24T13:59:08Z jmercouris: it seems fine to me 2020-01-24T13:59:15Z refpga joined #lisp 2020-01-24T13:59:20Z jmercouris: the spec will evolve as you use it and discover the pain points 2020-01-24T13:59:21Z statusf90 joined #lisp 2020-01-24T14:00:05Z montaropdf: of course, yet some early comments could remove some of those pain points ;) 2020-01-24T14:00:28Z pfdietz joined #lisp 2020-01-24T14:01:42Z jmercouris: the only thing that comes to mind is this; the table definition need not contain sort information 2020-01-24T14:01:53Z jmercouris: that is the responsibility of the tools to persist and insert in order 2020-01-24T14:03:10Z montaropdf: So the index thing could go away entirely, for you? 2020-01-24T14:05:17Z wxie quit (Ping timeout: 260 seconds) 2020-01-24T14:06:28Z Bike joined #lisp 2020-01-24T14:07:36Z swills quit (Ping timeout: 265 seconds) 2020-01-24T14:08:45Z shifty quit (Ping timeout: 272 seconds) 2020-01-24T14:08:53Z shifty joined #lisp 2020-01-24T14:16:26Z Josh_2 joined #lisp 2020-01-24T14:19:41Z shifty quit (Ping timeout: 265 seconds) 2020-01-24T14:20:02Z shifty joined #lisp 2020-01-24T14:26:04Z ljavorsk joined #lisp 2020-01-24T14:27:01Z swills joined #lisp 2020-01-24T14:27:02Z LiamH joined #lisp 2020-01-24T14:32:44Z shifty quit (Ping timeout: 265 seconds) 2020-01-24T14:33:19Z jmercouris: yes 2020-01-24T14:33:51Z shifty joined #lisp 2020-01-24T14:34:40Z montaropdf: note taken. 2020-01-24T14:41:55Z oni-on-ion joined #lisp 2020-01-24T14:42:18Z shifty quit (Ping timeout: 260 seconds) 2020-01-24T14:42:21Z pfdietz: To whom do I send a patch for hu.dwim.walker? 2020-01-24T14:42:36Z shifty joined #lisp 2020-01-24T14:46:32Z sabrac: anyone seen an implementation of SaslPrep (https://tools.ietf.org/html/rfc7613) or StringPrep (https://tools.ietf.org/html/rfc7564) that I can look at? 2020-01-24T14:48:08Z Odin-: Isn't that a decent chunk of what needs to happen for Postmodern to support modern authentication? 2020-01-24T14:49:06Z phoe: given that it's Sabra who's asking the question, I guess that it's exactly that 2020-01-24T14:50:02Z sabrac: I have everything done except the normalization of the password - assuming I make ironclad a dependency. 2020-01-24T14:50:44Z sabrac: If the passwords and user names are ascii, everything works, but the standard requires that passwords and user names be normalized for different utf8 encodings 2020-01-24T14:50:50Z Odin-: Interesting. I've been thinking about taking a try at that side of it for a while. Don't have anything done, though. 2020-01-24T14:51:25Z Odin-: Postgres wants a slightly non-standard version, even. 2020-01-24T14:51:34Z asdf_asdf_asdf joined #lisp 2020-01-24T14:51:58Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-24T14:52:19Z Kevslinger quit 2020-01-24T14:52:34Z Kevslinger joined #lisp 2020-01-24T14:53:22Z sabrac: By the way, what are people's thoughts on ironclad as a dependency? Xach thinks it is a pretty big dependency but I do not want to reinvent a subset of that wheel and get it wrong 2020-01-24T14:54:13Z Odin-: Crypto is hard, and it's better to have it in one place. 2020-01-24T14:54:31Z Odin-: There might be a better approach than a single system with all the crypto, though. 2020-01-24T14:54:49Z sabrac: Open to any and all suggestions 2020-01-24T14:55:17Z pfdietz: The problem isn't depending on Ironclad, it's that Ironclad solves a problem that is risky to solve (due to exposure to changes in internals of CL implementations). 2020-01-24T14:55:35Z Odin-: I'm mainly suggesting that Ironclad could do with being made more modular, rather than not using it. 2020-01-24T14:56:04Z sabrac: I want to get this done and back to phoe's binary problem 2020-01-24T14:56:35Z Odin-: ... and hence use Ironclad. Which makes sense. 2020-01-24T15:00:58Z shifty quit (Ping timeout: 260 seconds) 2020-01-24T15:00:59Z Odin-: sabrac: Hrm. 2020-01-24T15:01:43Z sabrac: Odin: Hrm? 2020-01-24T15:01:58Z shifty joined #lisp 2020-01-24T15:02:03Z Odin-: sabrac: There are small, but significant, differences between the RFCs you linked to and the ones referenced in the SCRAM-SHA-1 RFC. 2020-01-24T15:02:13Z Odin-: sabrac: Postgres appears to be using the latter, specifically. 2020-01-24T15:02:52Z CEnnis91 joined #lisp 2020-01-24T15:03:05Z sabrac: yes. The RFCs I linked to obsoleted the ones that Postgres is using. I would like to look at both 2020-01-24T15:03:53Z Odin-: As far as I can see the difference that's most likely to trip something up is that the new ones use NFC, but the older ones use NFKC. 2020-01-24T15:04:21Z sabrac: As you said, Postgres wants a slightly non-standard version 2020-01-24T15:05:27Z Odin-: Yeah, but only for non-UTF-8 sequences. 2020-01-24T15:05:48Z tiwEllien joined #lisp 2020-01-24T15:06:15Z Odin-: NFKC translates significantly more code points than NFC. 2020-01-24T15:06:20Z HDurer quit (Remote host closed the connection) 2020-01-24T15:07:47Z dale_ joined #lisp 2020-01-24T15:08:05Z dale_ is now known as dale 2020-01-24T15:09:11Z sabrac: Good to know. Safer to just look at https://tools.ietf.org/html/rfc4013 and https://tools.ietf.org/html/rfc3454? 2020-01-24T15:10:05Z jprajzne quit (Quit: jprajzne) 2020-01-24T15:10:27Z jprajzne joined #lisp 2020-01-24T15:10:42Z Odin-: Probably. 2020-01-24T15:12:38Z sjl_ joined #lisp 2020-01-24T15:13:16Z sabrac: You obviously are knowledgable in this space. Any implementations of NFKC you recommend I should look at? 2020-01-24T15:13:59Z Odin-: I know a fair bit about Unicode, but haven't really dealt with it in CL too much. 2020-01-24T15:14:34Z jprajzne quit (Client Quit) 2020-01-24T15:14:57Z jprajzne joined #lisp 2020-01-24T15:16:20Z Odin-: The saslprep handling is in a separate file in postgres. Useful. 2020-01-24T15:17:12Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-24T15:17:58Z Odin-: I can only see references to Unicode normalisation in the SBCL docs. 2020-01-24T15:18:01Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-24T15:18:02Z tiwEllien joined #lisp 2020-01-24T15:18:14Z Odin-: There's normalisation functions there. 2020-01-24T15:18:32Z shka_ quit (Quit: WeeChat 1.9.1) 2020-01-24T15:18:39Z Odin-: Doesn't seem to be mentioned in the CCL docs. 2020-01-24T15:19:26Z galdor: sabrac: just look at libicu and unicode specifications 2020-01-24T15:20:51Z Odin-: This is something that really should be available in a portable 'unicode' library. 2020-01-24T15:21:50Z galdor: it's non trivial 2020-01-24T15:22:09Z Odin-: I'm aware. 2020-01-24T15:22:21Z galdor: ICU defines a *lot* of operations 2020-01-24T15:22:23Z Odin-: That's why it needs to be available. 2020-01-24T15:22:41Z Odin-: I'm not talking about porting ICU to CL. 2020-01-24T15:23:08Z Odin-: But at least having what sb-unicode appears to support available more widely would be ... useful. 2020-01-24T15:23:52Z cosimone quit (Remote host closed the connection) 2020-01-24T15:27:14Z Cymew quit (Ping timeout: 240 seconds) 2020-01-24T15:32:45Z avicenna quit 2020-01-24T15:33:00Z avicenna joined #lisp 2020-01-24T15:34:44Z montaropdf quit (Quit: See you soon.) 2020-01-24T15:40:34Z asdf_asdf_asdf joined #lisp 2020-01-24T15:42:02Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-24T15:42:58Z shifty quit (Ping timeout: 268 seconds) 2020-01-24T15:43:37Z shifty joined #lisp 2020-01-24T15:46:52Z ebrasca joined #lisp 2020-01-24T15:49:44Z xkapastel joined #lisp 2020-01-24T15:52:18Z varjagg joined #lisp 2020-01-24T15:54:19Z teej quit (Quit: Connection closed for inactivity) 2020-01-24T15:57:44Z varjagg quit (Remote host closed the connection) 2020-01-24T15:58:53Z Bad_K4rMa joined #lisp 2020-01-24T16:00:57Z ebrasca quit (Read error: Connection reset by peer) 2020-01-24T16:01:32Z ebrasca joined #lisp 2020-01-24T16:03:52Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-24T16:04:33Z ebrasca quit (Read error: Connection reset by peer) 2020-01-24T16:04:57Z ebrasca joined #lisp 2020-01-24T16:14:47Z clothespin quit (Ping timeout: 260 seconds) 2020-01-24T16:15:51Z orivej joined #lisp 2020-01-24T16:15:57Z Bike quit (Remote host closed the connection) 2020-01-24T16:18:07Z efm quit (Ping timeout: 268 seconds) 2020-01-24T16:18:10Z Bike joined #lisp 2020-01-24T16:20:34Z smazga joined #lisp 2020-01-24T16:22:14Z efm joined #lisp 2020-01-24T16:23:39Z statusf90 quit (Quit: statusf90) 2020-01-24T16:27:13Z rwcom7 joined #lisp 2020-01-24T16:29:13Z rwcom quit (Ping timeout: 265 seconds) 2020-01-24T16:29:13Z rwcom7 is now known as rwcom 2020-01-24T16:29:33Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-24T16:30:45Z jmercouris quit (Remote host closed the connection) 2020-01-24T16:31:20Z clothespin joined #lisp 2020-01-24T16:31:38Z brown121407 joined #lisp 2020-01-24T16:35:52Z efm_ joined #lisp 2020-01-24T16:36:00Z efm quit (Ping timeout: 268 seconds) 2020-01-24T16:36:15Z efm_ quit (Client Quit) 2020-01-24T16:36:34Z cosimone joined #lisp 2020-01-24T16:38:13Z gko_ quit (Ping timeout: 272 seconds) 2020-01-24T16:44:26Z shifty quit (Ping timeout: 240 seconds) 2020-01-24T16:45:08Z shifty joined #lisp 2020-01-24T16:46:34Z emys joined #lisp 2020-01-24T16:48:13Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-24T16:57:58Z cosimone quit (Quit: Quit.) 2020-01-24T16:58:08Z davepdotorg quit (Remote host closed the connection) 2020-01-24T16:58:28Z Bike quit (Remote host closed the connection) 2020-01-24T16:58:29Z brown121408 joined #lisp 2020-01-24T16:58:35Z karlosz joined #lisp 2020-01-24T16:58:40Z davepdotorg joined #lisp 2020-01-24T16:58:49Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-24T16:59:23Z ljavorsk quit (Ping timeout: 260 seconds) 2020-01-24T16:59:43Z karlosz quit (Client Quit) 2020-01-24T17:00:41Z pfdietz quit (Remote host closed the connection) 2020-01-24T17:02:48Z emys quit (Ping timeout: 245 seconds) 2020-01-24T17:03:19Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-24T17:06:03Z emys joined #lisp 2020-01-24T17:06:26Z jonatack joined #lisp 2020-01-24T17:08:05Z Bike joined #lisp 2020-01-24T17:10:53Z brown121408 quit (Read error: Connection reset by peer) 2020-01-24T17:11:16Z brown121408 joined #lisp 2020-01-24T17:13:14Z emys quit (Ping timeout: 240 seconds) 2020-01-24T17:14:01Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-24T17:14:34Z Xach: sabrac: the ironclad issue springs more from how difficult it is to use one part without using the whole thing, and i don't always like using the whole thing because it is large and takes a long time to compile. 2020-01-24T17:14:54Z Xach: if you need multiple things it provides, then it is not a very big deal 2020-01-24T17:15:32Z Xach: but if you were just using it for e.g. one or two hashing functions, to me that seems heavyweight 2020-01-24T17:16:55Z emys joined #lisp 2020-01-24T17:20:40Z varjagg joined #lisp 2020-01-24T17:21:14Z shifty quit (Ping timeout: 240 seconds) 2020-01-24T17:21:58Z shifty joined #lisp 2020-01-24T17:24:27Z sabrac: Xach: yes, understood. 2020-01-24T17:26:25Z raghavgururajan joined #lisp 2020-01-24T17:27:03Z sabrac: functions currently needed from ironclad are: ascii-string-to-byte-array, hex-string-to-byte-array, digest-sequence, hmac-digest, make-hmac, update-hmac, integer-to-octets, octets-to-integer, pbkdf2-hash-password and whatever they depend on within ironclad 2020-01-24T17:28:18Z copec quit (Ping timeout: 246 seconds) 2020-01-24T17:29:14Z emys quit (Ping timeout: 240 seconds) 2020-01-24T17:32:14Z asdf_asdf_asdf joined #lisp 2020-01-24T17:33:38Z v88m quit (Ping timeout: 240 seconds) 2020-01-24T17:37:22Z emys joined #lisp 2020-01-24T17:37:38Z hhdave quit (Quit: hhdave) 2020-01-24T17:39:29Z m00natic quit (Remote host closed the connection) 2020-01-24T17:41:26Z shka_ joined #lisp 2020-01-24T17:43:08Z zulu-inuoe joined #lisp 2020-01-24T17:43:14Z shifty quit (Ping timeout: 240 seconds) 2020-01-24T17:43:24Z emys quit (Ping timeout: 268 seconds) 2020-01-24T17:43:49Z Abe joined #lisp 2020-01-24T17:44:27Z shifty joined #lisp 2020-01-24T17:44:38Z clothespin quit (Ping timeout: 268 seconds) 2020-01-24T17:44:55Z Ven`` joined #lisp 2020-01-24T17:45:55Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-01-24T17:46:23Z zulu-inuoe joined #lisp 2020-01-24T17:48:19Z emys joined #lisp 2020-01-24T17:50:50Z Abe quit (Ping timeout: 240 seconds) 2020-01-24T17:51:52Z shifty quit (Ping timeout: 265 seconds) 2020-01-24T17:55:05Z jprajzne quit (Quit: jprajzne) 2020-01-24T17:55:22Z varjagg is now known as varjag 2020-01-24T17:55:36Z jprajzne joined #lisp 2020-01-24T17:56:58Z pfdietz joined #lisp 2020-01-24T17:57:08Z emys quit (Ping timeout: 260 seconds) 2020-01-24T17:59:04Z emys joined #lisp 2020-01-24T17:59:25Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-24T17:59:34Z jprajzne quit (Client Quit) 2020-01-24T17:59:59Z jprajzne joined #lisp 2020-01-24T18:05:12Z statusf90 joined #lisp 2020-01-24T18:06:13Z Josh_2: What does the "~&" format directive do? 2020-01-24T18:08:28Z asdf_asdf_asdf: This is ++i from other languages. "pre increment", "pre new-line". 2020-01-24T18:08:33Z Bike: outputs a newline if there's any text on the current line. 2020-01-24T18:08:37Z Bike: clhs ~& 2020-01-24T18:08:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cac.htm 2020-01-24T18:10:19Z pfdietz: Related to the standard function fresh-line 2020-01-24T18:10:30Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-24T18:11:08Z Josh_2: Thanks :) 2020-01-24T18:11:13Z asdf_asdf_asdf: Josh_2, it is new-line - 1, if was something do. 2020-01-24T18:11:51Z copec joined #lisp 2020-01-24T18:19:53Z rippa joined #lisp 2020-01-24T18:21:06Z slyrus__ joined #lisp 2020-01-24T18:23:58Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-24T18:27:16Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-24T18:27:54Z sjl joined #lisp 2020-01-24T18:29:15Z zclark joined #lisp 2020-01-24T18:31:54Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-24T18:34:28Z tiwEllien joined #lisp 2020-01-24T18:40:38Z slyrus_ joined #lisp 2020-01-24T18:41:07Z v88m joined #lisp 2020-01-24T18:43:35Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-24T18:48:29Z akoana joined #lisp 2020-01-24T18:52:19Z Bad_K4rMa joined #lisp 2020-01-24T18:54:27Z pjb: Josh_2: there are actually very few implementations that launch missiles at you, develop a new plague virus, or expulse nasal daemons in case of undefined behavior. You can just try stuff out at the REPL! 2020-01-24T18:56:41Z pjb: Josh_2: try: (dolist (f '("Hello~%World" "~%Hello World" "Hello~3%World" "~3%Hello World" "Hello~&World" "~&Hello World" "Hello~3&World" "~3&Hello World")) (format t "~%-------------------- ~A~%" f) (format t f)) 2020-01-24T18:57:13Z Bad_K4rMa quit (Ping timeout: 260 seconds) 2020-01-24T18:57:55Z markasoftware: Let's say 2020-01-24T18:58:31Z markasoftware: I'm writing a Lisp function that scans through the body of a lambda to determine which lexical values and functions to put in its closure 2020-01-24T18:59:10Z davepdotorg joined #lisp 2020-01-24T18:59:13Z Bike: like a common lisp lambda, or another lisp like language? 2020-01-24T18:59:28Z markasoftware: let's just say common lisp, but maybe a simplified version of it 2020-01-24T18:59:34Z Bike: alright. 2020-01-24T18:59:45Z markasoftware: do i need to have a special case for quote, so that I don't capture symbols inside of a quoted list? 2020-01-24T19:00:12Z Bike: well, you'll probably need to analyze all the special operators, sure 2020-01-24T19:00:23Z markasoftware: i.e, (find-closure-symbols (+ 1 2)) should return (+) 2020-01-24T19:00:44Z markasoftware: but (find-closure-symbols (quote (+ 1 2))) should not return + 2020-01-24T19:00:47Z jmercouris joined #lisp 2020-01-24T19:01:07Z Bike: i mean you'll have to handle like (find-closure-symbols '(let ((x y)) x)) => (X), not (X Y) anyway 2020-01-24T19:01:16Z Bike: er, it should return (Y) 2020-01-24T19:01:31Z markasoftware: hmm that is a tricky one 2020-01-24T19:01:56Z Bike: or (find-closure-symbols '(lambda (x) x)) => (), not (X) 2020-01-24T19:02:04Z Bike: you'll have to actually walk the code 2020-01-24T19:02:14Z markasoftware: so, when let is in the car position of a list, i recurse only on the values 2020-01-24T19:02:36Z Bike: well you also have to analyze the body. 2020-01-24T19:02:48Z Bike: (let ((x y)) (+ x y z)) has Y Z free. 2020-01-24T19:02:49Z markasoftware: and that, yep 2020-01-24T19:03:25Z Bike: so, while analyzing the body (+ x y z), you have to make sure that the x is NOT added to the free list. 2020-01-24T19:04:37Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-24T19:04:38Z markasoftware: It isn't any easier to do this in the lisp interpreter than it is to just write a macro, like Emacs did with lexical-let, is it? 2020-01-24T19:05:05Z Bike: i'm not sure what you mean. 2020-01-24T19:05:27Z markasoftware: Is it easier to implement lexical binding in C, with the interpreter? I can't imagine it would 2020-01-24T19:05:40Z markasoftware: rather than implementing it in lisp, as a macro. 2020-01-24T19:05:58Z Bike: i don't understand. The kind of analysis you're doing is usually part of a compiler. 2020-01-24T19:06:03Z markasoftware: ok 2020-01-24T19:06:18Z Bike: i suspect emacs lisp is not the best example, though. 2020-01-24T19:06:28Z Bike: SICP or something may be informative 2020-01-24T19:07:00Z markasoftware: Yeah, it probably is 2020-01-24T19:07:01Z markasoftware: thanks! 2020-01-24T19:08:09Z Bike: happy to be of service 2020-01-24T19:09:35Z emys quit (Ping timeout: 272 seconds) 2020-01-24T19:10:04Z nowhereman_ joined #lisp 2020-01-24T19:10:18Z emys joined #lisp 2020-01-24T19:12:01Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-24T19:12:25Z mercourisj joined #lisp 2020-01-24T19:12:35Z jmercouris quit (Disconnected by services) 2020-01-24T19:12:37Z mercourisj is now known as jmercouris 2020-01-24T19:14:17Z nika_ quit 2020-01-24T19:15:00Z mrcom quit (Ping timeout: 265 seconds) 2020-01-24T19:17:33Z z147 joined #lisp 2020-01-24T19:18:54Z asdf_asdf_asdf joined #lisp 2020-01-24T19:19:37Z ggole quit (Quit: Leaving) 2020-01-24T19:21:14Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-01-24T19:22:11Z amerlyq quit (Quit: amerlyq) 2020-01-24T19:26:23Z swills quit (Ping timeout: 268 seconds) 2020-01-24T19:27:00Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-24T19:34:08Z swills joined #lisp 2020-01-24T19:34:33Z pfdietz: markasoftware: you are trying to write a code walker. This is not possible in a fully portable way in Common Lisp, unfortunately. And because macros can do arbitrary computations is not possible in general to trace back to the original lambda expression. 2020-01-24T19:34:51Z Bike quit (Remote host closed the connection) 2020-01-24T19:35:17Z Bike joined #lisp 2020-01-24T19:35:35Z pfdietz: The portability problem is because the code walker needs to maintain an env object as it goes through macrolets, and there's no standard API for doing that. 2020-01-24T19:36:12Z pfdietz: (I make the assumption here that there may be macros in the code for which you do not have the source.) 2020-01-24T19:36:33Z pfdietz: (Otherwise, you could solve the problem with an entire virtual CL implementation on top of the one you are using.) 2020-01-24T19:39:06Z slyrus__ joined #lisp 2020-01-24T19:40:15Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-24T19:42:14Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-24T19:44:45Z cl-arthur joined #lisp 2020-01-24T19:51:29Z shka_ quit (Ping timeout: 268 seconds) 2020-01-24T19:55:00Z shka_ joined #lisp 2020-01-24T19:56:12Z aeth: pfdietz: That might actually be the easiest solution. It shouldn't be that hard to implement CL on top of CL. Maybe a 3 month project? 2020-01-24T19:56:24Z aeth: Of course, you're probably going to lose performance... 2020-01-24T19:57:27Z kajo joined #lisp 2020-01-24T19:58:02Z jackdaniel: cl implementation may have custom special forms 2020-01-24T19:58:31Z jackdaniel: (as extensions), to which some standard macros may expand 2020-01-24T19:59:30Z emys quit (Ping timeout: 246 seconds) 2020-01-24T19:59:46Z aeth: It almost certainly will have custom special forms if you expand macros past the point of the CL package, e.g. CL:LOOP. Although CL:DO usually is simple enough not to have any. And it's not required, e.g. CL:DOTIMES is usually implemented on top of CL:DO and CL:WITH-ACCESSORS usually uses CL:SYMBOL-MACROLET 2020-01-24T20:06:37Z emys joined #lisp 2020-01-24T20:07:02Z aeth: If you run your own CL implementation on top of CL, though, you get full knowledge of any quirks as long as you don't do the laziest thing and transpile all of the source code to itself. (Some things might be unavoidable like different fixnum sizes unless you really want to slow things down, though.) It might mean slightly different behavior in edge cases inside vs. outside, though. 2020-01-24T20:07:12Z space_otter joined #lisp 2020-01-24T20:08:26Z aeth: If this sounds like a ridiculous solution to code-walking, then maybe this shows why code-walkers are usually avoided! 2020-01-24T20:12:38Z Bike: or why implementation support would be nice 2020-01-24T20:14:22Z jackdaniel: that ^ 2020-01-24T20:14:52Z jackdaniel: ecl has a walker module, but I don't know in what shape it is, I've never used it nor it has tests 2020-01-24T20:15:03Z Bike: does clos use it? 2020-01-24T20:15:10Z aeth: Bike: Even if you have a working code walker, there's still the issue of when you refactor code in the usual CL way and just C-k a piece of code from a giant function so you can put it in a smaller function for cleaner code. Oops! It has a (foo bar) somewhere in those lines and foo isn't a real thing! It's just an illusion from the code walker! 2020-01-24T20:15:22Z jackdaniel: Bike: possibly, it is defined in clos/ source subtree 2020-01-24T20:15:27Z Bike: aeth...huh? 2020-01-24T20:16:13Z aeth: Bike: My point is code walking functions should be recursive so if FOOBAR uses the macro, then if you spin off a BAR function, you can also use the same macro to get to the same state. e.g. maybe an HTML generator that has a code walker in embedded CL code in it 2020-01-24T20:16:58Z Bike: i don't understand your example. you're talking about cut pasting from source? how does a code walker come into it? 2020-01-24T20:19:33Z aeth: Take a (with-infix (- b + (sqrt b ^ 2 - 4 * a * c) / (2 * a)) and then say 'Oh, this is a bit messy, let's move "b ^ 2 - 4 * a * c" into its own function so the "- b -" function can share code with the "- b +" function"'. But depending on how it's written, you can't do that. 2020-01-24T20:19:55Z raghavgururajan joined #lisp 2020-01-24T20:20:16Z aeth: Quite a few code-walker macros do some sort of initial and/or final step that will be completely broken by a function f calling a function g that also uses that macro. 2020-01-24T20:21:06Z swills quit (Read error: Connection reset by peer) 2020-01-24T20:21:49Z Bike: I am... not remotely certain I understand what you're talking about or what it has to do with code walkers, but not being able to cut parts of a function out willy nilly doesn't seem like a problem unique to code walking macros. 2020-01-24T20:22:25Z White_Flame: code walkers don't walk through functions anyway; whatever lexically goes on in the extracted function is opaque to the caller's environment 2020-01-24T20:23:10Z aeth: Bike: Code walking macros happen to make it particularly undiscoverable. If a macro has a fake (foo 42) I can't just M-. into it. I'll have to read a 200-line opaque macro that should've been split up into tiny functions and then I'll understand why the macro author didn't support the mode of splitting up a 200 line function into tiny functions. 2020-01-24T20:23:19Z aeth: And then I'll waste weeks rewriting half of a library... 2020-01-24T20:23:27Z pfdietz: What is needed is implementation support for the environment datatype, so the code walker can do the right thing on macrolet and symbol-macrolet. 2020-01-24T20:24:07Z Bike: aeth: ok, cool? I'm not talking about that. 2020-01-24T20:24:31Z aeth: Bike: If you make something easy to do then more people will do it, even if it's a bad thing. 2020-01-24T20:24:36Z pfdietz: At a higher level, the problem is that macros can do anything. So you can lose traceability back to your code. 2020-01-24T20:24:47Z Bike: I'm talking about implementing floats and you're like "it's pretty nasty that they're not associative" like yes sure 2020-01-24T20:25:17Z swills joined #lisp 2020-01-24T20:25:24Z nowhereman_ quit (Ping timeout: 268 seconds) 2020-01-24T20:25:50Z aeth: Well, you said implementation support would be nice. If I don't like floats, then I think that objecting is a valid response. 2020-01-24T20:26:22Z pfdietz: I want to solve this problem: walk a lambda and flag every cons cell in there that's a form. I don't think that's possible in general. 2020-01-24T20:26:37Z pfdietz: ("flag" as in "put into a list of forms") 2020-01-24T20:27:01Z Bike: I mean it's not like code walking is only good for weird macros. 2020-01-24T20:27:05Z pfdietz: I can expand all macros, but that gives me all the forms in the expansion, not in the original lambda. 2020-01-24T20:27:16Z aeth: Bike: I mean, code walking has its uses, but all of the really weird macros try to do it ime 2020-01-24T20:28:01Z aeth: And it's really an issue of API design whether you can think of an alternative imo. 2020-01-24T20:28:10Z pfdietz: I think this sort of issue motivated some of the divergence from CL you see in Scheme family languages. Or at least, that's the impression I get. 2020-01-24T20:28:20Z White_Flame: the place where I used it, I was finding all uses of variables whose names start with "?" and creating a LET binding around the form. The reason I don't just make a LET for all of them is because it's expensive to look up the value. 2020-01-24T20:28:22Z Bike: If you think code walking has its uses why are you complaining at me about this 2020-01-24T20:28:39Z White_Flame: but really, code walking situations are generally going to be in a limited focus, looking for very particular things 2020-01-24T20:28:51Z Bad_K4rMa joined #lisp 2020-01-24T20:28:56Z White_Flame: it's just that everybody has different particulars :-P 2020-01-24T20:29:10Z White_Flame: but it also does mean that simple, incomplete codewalkers suffice for those various situations & limitations 2020-01-24T20:29:24Z aeth: Bike: No feature is truly necessary. If a feature is abused more than it is legitimately used, then it isn't a good feature. Of course, maybe the reason it's abused more than it is legitimately used is because you can't get a good code walker in portable CL, so bad macros are more likely to attempt it. 2020-01-24T20:30:14Z pjb: pfdietz: I don't know what you're babbling: I can expand macrolets and symbol-macrolets perfectly well: https://termbin.com/2dkg 2020-01-24T20:31:10Z pfdietz: If your macros there exploit the &environment you will have a problem. 2020-01-24T20:31:14Z narimiran quit (Ping timeout: 240 seconds) 2020-01-24T20:31:27Z pjb: jackdaniel: 1- only sbcl has (or had) a specific special form. 2- implementations that do, should provide a macro that expand to a form that let you qualify the subforms. 2020-01-24T20:31:33Z pjb: pfdietz: what problem? 2020-01-24T20:32:01Z pfdietz: Let's suppose one of your macros there calls macroexpand on something else, and passes the environment argument along to that expansion. 2020-01-24T20:32:02Z pjb: I exploit it passing it to macroexpand as is intended (there are examples in clhs macroexpand). 2020-01-24T20:32:28Z pfdietz: How did you construct that environment object in a portable way, given that it depends on the macrolets? 2020-01-24T20:32:41Z pjb: I let the host CL do it. 2020-01-24T20:32:49Z shangul quit (Ping timeout: 265 seconds) 2020-01-24T20:32:51Z pjb: That's the trick! 2020-01-24T20:33:49Z Bike: this is a new and exciting definition of code walking. 2020-01-24T20:34:33Z cl-arthur: Anyone know any good books/papers/resources on code walking? 2020-01-24T20:34:45Z Josh_2: This chat right now 2020-01-24T20:34:46Z pfdietz: Bike: it certainly is. 2020-01-24T20:35:09Z pfdietz: In this thread, we discover that we can walk code, if we have already walked it and added codewalk forms. 2020-01-24T20:35:14Z pjb: pfdietz: However we should indeed node that "The object that is bound to the environment parameter has dynamic extent." says 3.4.4 Macro Lambda Lists 2020-01-24T20:35:16Z jackdaniel: big lol presents a code walker (which makes some invalid assumption which blows on sbcl) 2020-01-24T20:35:17Z Xach: cl-arthur: http://christophe.rhodes.io/notes/blog/posts/2014/naive_vs_proper_code-walking/ has some nice info 2020-01-24T20:35:21Z jackdaniel: and ^ 2020-01-24T20:35:27Z pjb: s/node/note/ 2020-01-24T20:36:21Z efm joined #lisp 2020-01-24T20:36:36Z aeth: My earlier point in one line: I think it's a decently common deisgn pattern to use code walkers to embed CL within some big pile of s-expressions and then have an exit point back. e.g. "(with-html (html (body (cl (dotimes (i 10) (in-html (p \"Hello\"..." but now you can't have helper functions because in-html doesn't actually exist. And of course you have the typical issues like you probably can't flet it. 2020-01-24T20:37:56Z aeth: This could actually be solved, even the helper function problem, depending on how you do the code walker's environment. 2020-01-24T20:38:21Z swills quit (Ping timeout: 268 seconds) 2020-01-24T20:38:28Z swills_ joined #lisp 2020-01-24T20:39:14Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-24T20:40:04Z cl-arthur: Xach: Thanks! 2020-01-24T20:41:02Z kamog quit (Remote host closed the connection) 2020-01-24T20:45:01Z pjb: But indeed, lexical environment objects having dynamic extend is sorry. 2020-01-24T20:46:07Z cl-arthur: jackdaniel: is 'big lol' the let over lambda book? 2020-01-24T20:46:49Z jackdaniel: cl-arthur: yes 2020-01-24T20:46:58Z jackdaniel: and there is land of lisp 2020-01-24T20:47:15Z jackdaniel: I'm not sure why one is big and one is small, maybe I've made it up 2020-01-24T20:47:40Z shka_: i prefer LOL for let over lambda and lol for land of lisp ;-) 2020-01-24T20:48:26Z refpga quit (Ping timeout: 240 seconds) 2020-01-24T20:48:32Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-24T20:50:09Z Bike: well "over" is an adverb so it should be capitalized, but "of" shouldn't, so therefore Let Over Lambda = LOL is bigger than Land of Lisp = LoL 2020-01-24T20:50:41Z Bike: hm, or maybe it's being used as a preposition here... mysteries 2020-01-24T20:51:09Z shka_: … can we agree to not write any other lisp books that abbreviate to l o l, it is already confusing 2020-01-24T20:51:51Z LdBeth: Learning on Lisp 2020-01-24T20:51:59Z LdBeth Done 2020-01-24T20:52:26Z efm quit (Ping timeout: 265 seconds) 2020-01-24T21:04:20Z arma joined #lisp 2020-01-24T21:06:08Z arma quit (Client Quit) 2020-01-24T21:06:42Z arma joined #lisp 2020-01-24T21:09:08Z newcup quit (Ping timeout: 246 seconds) 2020-01-24T21:10:17Z karlosz joined #lisp 2020-01-24T21:14:56Z pfdietz: League of Lisp 2020-01-24T21:20:00Z dlowe: Lisp of Legends 2020-01-24T21:20:32Z cl-arthur: Lore of Lisp - oh wait, that one's called Lisp Lore :) 2020-01-24T21:21:45Z Josh_2: Lisp over Λ 2020-01-24T21:21:59Z Josh_2: That won't be confusing 2020-01-24T21:23:59Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-24T21:25:09Z phoe: LoL over LoL 2020-01-24T21:25:39Z nowhereman_ joined #lisp 2020-01-24T21:25:58Z pfdietz: Lololol 2020-01-24T21:26:32Z phoe: Lisp: Official Lexicon 2020-01-24T21:27:05Z LdBeth: cl-arthur: there’s two books called lisp lore 2020-01-24T21:27:30Z LdBeth: One is about lisp machine and another is about programming techniques 2020-01-24T21:29:13Z cl-arthur: LdBeth: Are those 'Lisp Lore: A guide to programming the lisp machine' and 'Lisp, Lore, and Logic: An algebraic view of LISP programming, foundations and applications', or is my search failing to turn one up? 2020-01-24T21:29:14Z lemoinem quit (Ping timeout: 240 seconds) 2020-01-24T21:29:16Z ebrasca quit (Remote host closed the connection) 2020-01-24T21:29:19Z lemoinem joined #lisp 2020-01-24T21:29:34Z LdBeth: cl-arthur: true 2020-01-24T21:30:41Z nowhereman_ quit (Remote host closed the connection) 2020-01-24T21:31:46Z nowhereman_ joined #lisp 2020-01-24T21:36:31Z nowhereman_ quit (Ping timeout: 272 seconds) 2020-01-24T21:38:33Z kajo quit (Ping timeout: 246 seconds) 2020-01-24T21:39:16Z scymtym quit (Ping timeout: 248 seconds) 2020-01-24T21:46:26Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-24T21:46:31Z Bad_K4rMa joined #lisp 2020-01-24T21:53:18Z Bike quit (Quit: Bike) 2020-01-24T21:54:11Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-24T22:00:14Z mbrock joined #lisp 2020-01-24T22:00:23Z emys quit (Ping timeout: 260 seconds) 2020-01-24T22:00:47Z mrcom joined #lisp 2020-01-24T22:02:42Z kajo joined #lisp 2020-01-24T22:03:36Z klltkr joined #lisp 2020-01-24T22:04:20Z emys joined #lisp 2020-01-24T22:08:04Z mbrock quit (Remote host closed the connection) 2020-01-24T22:08:38Z emys quit (Ping timeout: 245 seconds) 2020-01-24T22:22:35Z mathrick quit (Ping timeout: 258 seconds) 2020-01-24T22:25:54Z scymtym joined #lisp 2020-01-24T22:26:35Z slyrus_ joined #lisp 2020-01-24T22:28:33Z kajo quit (Remote host closed the connection) 2020-01-24T22:29:18Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-24T22:29:26Z kajo joined #lisp 2020-01-24T22:34:00Z zclark` joined #lisp 2020-01-24T22:36:08Z zclark quit (Ping timeout: 268 seconds) 2020-01-24T22:36:29Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-24T22:39:36Z arma quit (Quit: arma) 2020-01-24T22:40:15Z Bike joined #lisp 2020-01-24T22:41:07Z bitmapper joined #lisp 2020-01-24T22:42:44Z zclark`` joined #lisp 2020-01-24T22:44:33Z Ven`` quit (Read error: Connection reset by peer) 2020-01-24T22:44:57Z zclark` quit (Ping timeout: 268 seconds) 2020-01-24T22:48:43Z tiwEllien quit (Ping timeout: 272 seconds) 2020-01-24T23:00:44Z davepdotorg joined #lisp 2020-01-24T23:05:55Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-24T23:06:26Z Frobozz joined #lisp 2020-01-24T23:08:38Z Frobozz quit (Remote host closed the connection) 2020-01-24T23:11:16Z quazimodo quit (Quit: leaving) 2020-01-24T23:11:27Z cl-arthur: 5 2020-01-24T23:11:31Z quazimodo joined #lisp 2020-01-24T23:11:33Z Nistur quit (Ping timeout: 260 seconds) 2020-01-24T23:11:35Z cl-arthur: oops, sorry. 2020-01-24T23:12:36Z fengshaun quit (Ping timeout: 265 seconds) 2020-01-24T23:13:17Z Tordek quit (Ping timeout: 265 seconds) 2020-01-24T23:16:15Z fengshaun joined #lisp 2020-01-24T23:18:04Z swills_ quit (Ping timeout: 268 seconds) 2020-01-24T23:18:35Z LiamH quit (Quit: Leaving.) 2020-01-24T23:18:37Z swills joined #lisp 2020-01-24T23:23:20Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-24T23:35:12Z pfdietz quit (Remote host closed the connection) 2020-01-24T23:37:05Z karlosz quit (Quit: karlosz) 2020-01-24T23:38:07Z Tordek joined #lisp 2020-01-24T23:38:20Z Nistur joined #lisp 2020-01-24T23:39:14Z phoe: cl-arthur: https://plaster.tymoon.eu/view/1654#1654 2020-01-24T23:40:52Z mathrick joined #lisp 2020-01-24T23:44:05Z _death: what, no English: ~R? 2020-01-24T23:45:57Z karlosz joined #lisp 2020-01-24T23:47:06Z _death: (this could be useful for large numbers) 2020-01-24T23:48:14Z efm joined #lisp 2020-01-24T23:48:34Z random-nick quit (Ping timeout: 265 seconds) 2020-01-24T23:51:47Z phoe: you're right, please make a CCL PR 2020-01-24T23:52:00Z phoe: on the other hand, on SBCL... 2020-01-24T23:52:01Z phoe: CL-USER> (describe 5) 2020-01-24T23:52:04Z phoe: 5 [fixnum] 2020-01-24T23:52:31Z nirved: why is it 1:24:05? a funny timezone? 2020-01-24T23:53:13Z reepca quit (Ping timeout: 268 seconds) 2020-01-24T23:54:01Z phoe: uh, wait 2020-01-24T23:54:05Z phoe: Poland here 2020-01-24T23:54:16Z phoe: and SBCL decodes it the same way 2020-01-24T23:54:18Z phoe: huh 2020-01-24T23:54:20Z nirved: for me it's 1:00:05 2020-01-24T23:55:05Z _death: the largest number sbcl can make into english is 999999999999999999999999999999999999999999999999999999999999999999 .. is it conforming? :) 2020-01-24T23:55:10Z phoe: why is my timezone is -7/5 2020-01-24T23:55:13Z nirved: clisp returns: "5 is an integer, uses 3 bits, is represented as a fixnum." 2020-01-24T23:55:14Z phoe: wtf 2020-01-24T23:55:24Z phoe goes to sleep 2020-01-24T23:58:26Z varjag quit (Ping timeout: 240 seconds) 2020-01-24T23:59:37Z nirved: _death: clisp has the same limitation, for ccl the limit seems to be 999999999999999999999999999999999 2020-01-25T00:00:45Z _death: most-positive-engnum 2020-01-25T00:01:22Z cl-arthur: phoe: thanks for describing 5 for me, haha 2020-01-25T00:04:17Z z147 quit (Quit: z147) 2020-01-25T00:06:00Z Lord_of_Life_ joined #lisp 2020-01-25T00:07:36Z rumbler31 joined #lisp 2020-01-25T00:07:54Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-25T00:07:54Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-25T00:09:14Z manjaroi3 joined #lisp 2020-01-25T00:10:02Z manjaroi3 quit (Client Quit) 2020-01-25T00:16:15Z smazga quit (Quit: leaving) 2020-01-25T00:18:15Z earl-ducaine joined #lisp 2020-01-25T00:19:44Z zclark`` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-25T00:24:01Z stepnem quit (Read error: Connection reset by peer) 2020-01-25T00:25:18Z stepnem joined #lisp 2020-01-25T00:25:54Z orivej quit (Ping timeout: 268 seconds) 2020-01-25T00:27:07Z shifty joined #lisp 2020-01-25T00:31:59Z Bad_K4rMa joined #lisp 2020-01-25T00:34:02Z mathrick quit (Ping timeout: 240 seconds) 2020-01-25T00:46:51Z stepnem_ joined #lisp 2020-01-25T00:47:20Z stepnem quit (Ping timeout: 265 seconds) 2020-01-25T00:49:36Z wxie joined #lisp 2020-01-25T00:49:41Z turona quit (Ping timeout: 272 seconds) 2020-01-25T00:50:13Z turona joined #lisp 2020-01-25T00:50:14Z turona quit (Max SendQ exceeded) 2020-01-25T00:51:01Z turona joined #lisp 2020-01-25T00:57:40Z gko_ joined #lisp 2020-01-25T01:01:52Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-25T01:02:00Z sjl joined #lisp 2020-01-25T01:03:42Z wxie quit (Ping timeout: 268 seconds) 2020-01-25T01:06:26Z XenophonF left #lisp 2020-01-25T01:08:04Z aeth: _death: let's make engnum a thing 2020-01-25T01:08:28Z aeth: someone should make a library that makes a deftype with #+sbcl #+ccl #+clisp etc. defines 2020-01-25T01:11:02Z aeth: Complete with a most-positive-engnum and a least-negative-engnum (hopefully the latter is just (- most-positive-engnum) because it just inserts a "negative" in front) and (defun engnump (number) (typep number 'engnum)) 2020-01-25T01:11:02Z rwcom9 joined #lisp 2020-01-25T01:12:02Z rwcom quit (Ping timeout: 240 seconds) 2020-01-25T01:12:03Z rwcom9 is now known as rwcom 2020-01-25T01:16:25Z no-defun-allowed: I fixed ~R on my SBCL to handle a few more digits. 2020-01-25T01:16:47Z aeth: newer version? 2020-01-25T01:18:32Z no-defun-allowed: Just add some more names to +cardinal-periods+ in src/code/target-format.lisp 2020-01-25T01:19:27Z aeth: oh, your own local modification? 2020-01-25T01:19:46Z no-defun-allowed: Yes. 2020-01-25T01:21:46Z libertyprime joined #lisp 2020-01-25T01:29:13Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-01-25T01:29:23Z __jrjsmrtn__ joined #lisp 2020-01-25T01:29:55Z igemnace joined #lisp 2020-01-25T01:30:13Z davsebamse quit (Ping timeout: 272 seconds) 2020-01-25T01:30:29Z z147 joined #lisp 2020-01-25T01:33:07Z nullniverse joined #lisp 2020-01-25T01:33:07Z nullniverse quit (Changing host) 2020-01-25T01:33:07Z nullniverse joined #lisp 2020-01-25T01:35:50Z davsebamse joined #lisp 2020-01-25T01:37:31Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-25T01:38:30Z kajo quit (Ping timeout: 252 seconds) 2020-01-25T01:39:52Z kajo joined #lisp 2020-01-25T01:47:24Z igemnace quit (Remote host closed the connection) 2020-01-25T01:48:06Z slyrus__ joined #lisp 2020-01-25T01:48:10Z oni-on-ion quit (Remote host closed the connection) 2020-01-25T01:48:32Z oni-on-ion joined #lisp 2020-01-25T01:50:46Z slyrus joined #lisp 2020-01-25T01:50:51Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-25T01:52:50Z slyrus__ quit (Ping timeout: 240 seconds) 2020-01-25T01:53:56Z stepnem joined #lisp 2020-01-25T01:54:37Z stepnem_ quit (Read error: Connection reset by peer) 2020-01-25T01:55:03Z varjag joined #lisp 2020-01-25T01:59:38Z varjag quit (Ping timeout: 268 seconds) 2020-01-25T02:01:19Z efm quit (Read error: Connection reset by peer) 2020-01-25T02:02:29Z mathrick joined #lisp 2020-01-25T02:04:34Z bitmapper quit (Ping timeout: 268 seconds) 2020-01-25T02:09:19Z efm joined #lisp 2020-01-25T02:10:35Z z147 quit (Remote host closed the connection) 2020-01-25T02:10:58Z z147 joined #lisp 2020-01-25T02:14:45Z holycow joined #lisp 2020-01-25T02:15:26Z FreeBirdLjj joined #lisp 2020-01-25T02:24:02Z _whitelogger quit (Remote host closed the connection) 2020-01-25T02:26:15Z _whitelogger joined #lisp 2020-01-25T02:37:00Z raghavgururajan joined #lisp 2020-01-25T02:37:03Z igemnace joined #lisp 2020-01-25T02:38:13Z libertyprime quit (Ping timeout: 265 seconds) 2020-01-25T02:45:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-25T02:46:51Z libertyprime joined #lisp 2020-01-25T02:51:28Z FreeBird_ joined #lisp 2020-01-25T02:52:03Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-25T03:02:15Z akoana left #lisp 2020-01-25T03:02:50Z FreeBird_ quit (Ping timeout: 240 seconds) 2020-01-25T03:02:51Z FreeBirdLjj joined #lisp 2020-01-25T03:02:54Z davepdotorg joined #lisp 2020-01-25T03:08:11Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-25T03:10:36Z statusf90 quit (Ping timeout: 265 seconds) 2020-01-25T03:14:08Z chocimir joined #lisp 2020-01-25T03:15:18Z Oladon joined #lisp 2020-01-25T03:15:52Z akoana joined #lisp 2020-01-25T03:16:26Z notzmv quit (Ping timeout: 240 seconds) 2020-01-25T03:28:21Z orivej joined #lisp 2020-01-25T03:28:46Z elderK quit (Ping timeout: 265 seconds) 2020-01-25T03:33:47Z elderK joined #lisp 2020-01-25T03:37:07Z statusf90 joined #lisp 2020-01-25T03:38:07Z ebzzry joined #lisp 2020-01-25T03:40:20Z chocimir quit (Read error: Connection reset by peer) 2020-01-25T03:45:16Z nullniverse quit (Ping timeout: 268 seconds) 2020-01-25T03:52:37Z slyrus_ joined #lisp 2020-01-25T03:53:18Z Bad_K4rMa quit (Ping timeout: 260 seconds) 2020-01-25T03:53:43Z Josh_2 quit (Ping timeout: 268 seconds) 2020-01-25T03:54:12Z libertyprime quit (Read error: Connection reset by peer) 2020-01-25T03:55:34Z slyrus quit (Ping timeout: 268 seconds) 2020-01-25T03:57:04Z libertyprime joined #lisp 2020-01-25T03:59:42Z orivej quit (Ping timeout: 265 seconds) 2020-01-25T04:03:02Z _whitelogger quit (Remote host closed the connection) 2020-01-25T04:03:02Z ebzzry quit (Read error: Connection reset by peer) 2020-01-25T04:03:46Z White_Flame: are there tools for mapping out the call graph of directly called lisp functions, ignoring funcall and apply targets? 2020-01-25T04:05:14Z _whitelogger joined #lisp 2020-01-25T04:12:03Z libertyprime quit (Quit: leaving) 2020-01-25T04:16:03Z notzmv joined #lisp 2020-01-25T04:16:21Z notzmv is now known as Guest77051 2020-01-25T04:18:03Z Khisanth quit (Ping timeout: 272 seconds) 2020-01-25T04:21:23Z karlosz quit (Quit: karlosz) 2020-01-25T04:21:41Z Odin- quit (Read error: Connection reset by peer) 2020-01-25T04:24:07Z Guest77051 is now known as zmv 2020-01-25T04:25:21Z zmv is now known as notzmv 2020-01-25T04:25:22Z efm quit (Read error: Connection reset by peer) 2020-01-25T04:30:55Z Khisanth joined #lisp 2020-01-25T04:31:42Z pjb: White_Flame: slime tells you who calls and who called. 2020-01-25T04:36:35Z efm joined #lisp 2020-01-25T04:43:31Z gravicappa joined #lisp 2020-01-25T05:00:09Z davepdotorg joined #lisp 2020-01-25T05:05:26Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-25T05:07:17Z White_Flame: pjb: yeah, but that's not a graph report from all your functions 2020-01-25T05:08:57Z White_Flame: although if I were to cobble up something manually, I guess harvesting from those xref tools would be a start 2020-01-25T05:15:29Z Bike quit (Quit: Lost terminal) 2020-01-25T05:19:25Z edgar-rft: My experience is that trying to display the call-graph of a non-trivial sized Lisp program only makes sense if you have a monitor in the size of a football field. 2020-01-25T05:22:55Z vlatkoB joined #lisp 2020-01-25T05:27:22Z ober quit (Remote host closed the connection) 2020-01-25T05:30:46Z White_Flame: sure, but even a textual tree would be useful 2020-01-25T05:35:55Z rwcom1 joined #lisp 2020-01-25T05:37:56Z rwcom quit (Ping timeout: 268 seconds) 2020-01-25T05:37:56Z rwcom1 is now known as rwcom 2020-01-25T05:41:58Z oni-on-ion quit (Ping timeout: 245 seconds) 2020-01-25T05:42:52Z dddddd quit (Ping timeout: 268 seconds) 2020-01-25T05:45:58Z Oladon quit (Quit: Leaving.) 2020-01-25T05:54:12Z greaser|q quit (Ping timeout: 248 seconds) 2020-01-25T05:55:43Z greaser|q joined #lisp 2020-01-25T05:59:50Z ggole joined #lisp 2020-01-25T06:01:45Z zooey quit (Quit: quit) 2020-01-25T06:02:05Z zooey joined #lisp 2020-01-25T06:02:53Z cartwright quit (Remote host closed the connection) 2020-01-25T06:05:03Z cartwright joined #lisp 2020-01-25T06:06:00Z karlosz joined #lisp 2020-01-25T06:07:35Z orivej joined #lisp 2020-01-25T06:12:53Z beach: Good morning everyone! 2020-01-25T06:13:05Z asdf_asdf_asdf: Hello everbody. 2020-01-25T06:19:07Z ggole quit (Remote host closed the connection) 2020-01-25T06:19:27Z ggole joined #lisp 2020-01-25T06:20:57Z jeosol joined #lisp 2020-01-25T06:22:18Z narimiran joined #lisp 2020-01-25T06:24:59Z Necktwi quit (Ping timeout: 268 seconds) 2020-01-25T06:29:03Z shangul joined #lisp 2020-01-25T06:30:13Z orivej quit (Ping timeout: 260 seconds) 2020-01-25T06:32:30Z asarch joined #lisp 2020-01-25T06:35:50Z frgo quit (Remote host closed the connection) 2020-01-25T06:38:04Z asarch: c++ has STL (std::vector, std::string, std::ifstream, etc), Squeak has the collections. Does Common Lisp has something similar (standard library a la CLOS)? 2020-01-25T06:38:34Z White_Flame: sequences 2020-01-25T06:38:43Z White_Flame: and streams 2020-01-25T06:39:18Z White_Flame: however, much of the stdlib is not method-based 2020-01-25T06:40:16Z Guest45 joined #lisp 2020-01-25T06:42:06Z asarch: SBE (Squeak By Example) mentions the map function 2020-01-25T06:42:09Z statusf90 quit (Quit: statusf90) 2020-01-25T06:42:45Z adamantium joined #lisp 2020-01-25T06:45:28Z Guest45 quit (Remote host closed the connection) 2020-01-25T06:46:00Z White_Flame: and CLHS mentions the MAP function as well (?) 2020-01-25T06:46:39Z Necktwi joined #lisp 2020-01-25T06:46:49Z asdf_asdf_asdf: asearch. (lambda (x) (+ x 2)) 2020-01-25T06:50:23Z akrl` quit (Remote host closed the connection) 2020-01-25T06:50:53Z akrl` joined #lisp 2020-01-25T07:01:15Z nika joined #lisp 2020-01-25T07:05:04Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-25T07:09:48Z akoana left #lisp 2020-01-25T07:13:07Z ggole quit (Read error: Connection reset by peer) 2020-01-25T07:13:30Z ggole joined #lisp 2020-01-25T07:13:52Z aeth: asarch: extensible sequences exists, but it is not afaik widely supported in implementations (but it is in the most widely supported implementation, SBCL, iirc) 2020-01-25T07:14:18Z aeth: I've never looked into it because I write portable code, but it's probably not going to be very satisfying when compared to C++ or Java. 2020-01-25T07:16:10Z asarch: Does the concept of "templates" exist in CLOS? 2020-01-25T07:16:33Z aeth: afaik, no, but it can be emulated semi-portably with macros 2020-01-25T07:16:39Z asarch: Common Lisp actually doesn't need them, right? 2020-01-25T07:17:08Z no-defun-allowed: I don't think CL needs those. Those are like head-hurting macros, right? 2020-01-25T07:17:14Z aeth: In Common Lisp, nearly everything is generic by default and it's harder to get specifics, so templates would only really be needed as a performance optimization, specifically for things like numeric arrays 2020-01-25T07:17:28Z no-defun-allowed: Or generics? 2020-01-25T07:17:37Z asarch: I mean, C++'s template are to not to have to write int int_foo(); float float_foo(); char *string_foo(); etc 2020-01-25T07:18:13Z aeth: right, but there's a runtime cost for just saying "true foo();" which is sort of what you're doing with CL 2020-01-25T07:18:34Z aeth: So in practice, things like type declarations do exist, and things like templates can be useful to automatically generate e.g. a single-float and a double-float version of an optimized function 2020-01-25T07:20:28Z aeth: In CL it's not that everything's typed "auto" (autoderive a type at compile time) it's that everything's typed "anything" (determine it at runtime) except in certain situations like type declarations or data structures that only hold a given type 2020-01-25T07:21:26Z aeth: But highly optimized compile time typed data structures are niche, and primarily numeric. 2020-01-25T07:22:13Z asarch: What would be the difference (in technical details) if I do: (defun show (window) ...) and (defmethod show ((w window)) ...)? I mean, a "normal" function vs a generic method if both could do the same task with well-written code 2020-01-25T07:22:25Z asarch: ? 2020-01-25T07:23:10Z aeth: There's also the option of (defun show (window) (declare (type window window)) ...) ; or the equivalent with declaim ftype that's uglier and harder to type, these things would be macro-generated, though 2020-01-25T07:24:44Z aeth: The defmethod will do runtime dispatch on the class, the normal defun will assume the window can be any object until it runs into some function call or whatever where that fails at runtime, and the defun with the type declaration will do the type check before the function body, potentially optimizing things 2020-01-25T07:27:00Z aeth: more concretely: (defun foo (number) (+ number number)) will fail when doing the + if it's not a number, (defun foo (number) (declare (type number number)) (+ number number)) will fail at the start of the function call but not every implementation has to support that. (defun foo (number) (declare (type single-float number)) (+ number number)) is like the previous but will potentially optimize away the generic + to efficient asm. 2020-01-25T07:27:44Z aeth: and defmethod with similar numbers will only work if it is a class, which not all types are... but the advantage is that you could write a bunch of different foos and runtime dispatch 2020-01-25T07:28:12Z aeth: (and perhaps type declarations in the caller get rid of the runtime dispatch, I haven't tested it) 2020-01-25T07:29:30Z ealfonso joined #lisp 2020-01-25T07:31:20Z aeth: asarch: So basically DEFUN has everything typed T (like an "anything" type) unless otherwise specified via the DECLARE/DECLAIM syntax (which unfortunately doesn't have to be supported with these semantics by all implementations), while DEFMTHOD obviously has the class (which is a subset of type; not all types are classes, e.g. (integer 3 42) the integer range) and can have multiple things of the same name but with different classes. 2020-01-25T07:31:35Z malfort quit (Ping timeout: 268 seconds) 2020-01-25T07:33:09Z aeth: I would prefer DEFUN over DEFMETHOD unless you need to do dispatch. It's easy to refactor one into the other. The advantage of something like a template would be generating efficient DEFUNs for e.g. single-float and double-float instead of requiring a foo/single-float and a foo/double-float version of your functions since the efficiency thing requires DECLARE or DECLAIM. 2020-01-25T07:33:47Z asarch: The other day I was talking about why Postmodern was not a la CLOS designed (query ibm-server-session ...) (query nasa-server-session ...) and a fellow replied that it was not OOP at all for him in spite of I was using the generic dispatch for the ibm-server-session and nasa-server-session objects and then I wondered this question defun vs defmethod 2020-01-25T07:34:41Z asarch: From his point of view, one could do (defun query (session) ...) 2020-01-25T07:36:54Z frgo joined #lisp 2020-01-25T07:36:55Z aeth: Imo, unless it's an auto-generated accessor from DEFCLASS or designed to be very close to that, if it's used once with no dispatching, then it should be a DEFUN. There's a slight edge case where your API might except the user to define :after or :before methods etc. as well, which could make DEFMETHOD still useful. 2020-01-25T07:38:08Z aeth: By "used once" I mean e.g. only used for windows and you only have one type of window class, with no subclasses or w/e 2020-01-25T07:38:55Z aeth: everyone will have their own styles, though 2020-01-25T07:41:27Z frgo quit (Ping timeout: 268 seconds) 2020-01-25T07:42:46Z aeth: The hard part is actually how you want to dispatch when you need to, since TYPECASE in a DEFUN is another option 2020-01-25T07:46:03Z Khisanth quit (Ping timeout: 260 seconds) 2020-01-25T07:47:02Z asarch: In C++ you could overload the bool operator in order to check if the object was successfully created (in the case of Postmodern, if the connection was established). How could you do the same with CLOS? 2020-01-25T07:47:44Z aeth: In CL you don't do operator overloading, although you can define your own symbol definitions outside of the CL package or use a macro that looks up the symbols on its own 2020-01-25T07:47:53Z klltkr joined #lisp 2020-01-25T07:50:42Z asarch: (not (null ibm-server-session) ...) 2020-01-25T07:52:39Z aeth: well, that could happen just by making an object either NIL or the object 2020-01-25T07:53:00Z aeth: basically a union type (or null foo) 2020-01-25T07:53:29Z no-defun-allowed wonders what the second argument to NOT is 2020-01-25T07:54:20Z ebzzry joined #lisp 2020-01-25T07:54:45Z aeth: ... is 0 or more, clearly 2020-01-25T07:55:49Z frgo joined #lisp 2020-01-25T07:55:55Z asarch: I mean, (if (not (null ibm-server-session)) (foo) (bar)) 2020-01-25T07:57:46Z philadendrite joined #lisp 2020-01-25T07:58:01Z orivej joined #lisp 2020-01-25T07:58:36Z Khisanth joined #lisp 2020-01-25T07:58:46Z asarch: (Or maybe with conditions) 2020-01-25T08:01:23Z asarch: Anyway, thank you very much! 2020-01-25T08:01:33Z asarch: See you later. Have a nice day :-) 2020-01-25T08:01:40Z asarch quit (Quit: Leaving) 2020-01-25T08:07:49Z karlosz quit (Quit: karlosz) 2020-01-25T08:13:13Z adamantium quit (Remote host closed the connection) 2020-01-25T08:22:34Z adamantium joined #lisp 2020-01-25T08:33:38Z gko_ quit (Ping timeout: 240 seconds) 2020-01-25T08:38:01Z igemnace quit (Quit: WeeChat 2.7) 2020-01-25T08:41:56Z z147 joined #lisp 2020-01-25T08:45:03Z _whitelogger quit (Remote host closed the connection) 2020-01-25T08:45:31Z dale quit (Quit: My computer has gone to sleep) 2020-01-25T08:46:31Z gko_ joined #lisp 2020-01-25T08:47:15Z _whitelogger joined #lisp 2020-01-25T08:50:56Z raghavgururajan quit (Read error: Connection reset by peer) 2020-01-25T08:56:14Z wxie joined #lisp 2020-01-25T09:14:12Z rippa joined #lisp 2020-01-25T09:27:07Z zooey_ joined #lisp 2020-01-25T09:27:23Z zooey quit (Ping timeout: 240 seconds) 2020-01-25T09:30:02Z fengshaun_ joined #lisp 2020-01-25T09:30:03Z ebzzry quit (Read error: Connection reset by peer) 2020-01-25T09:30:12Z holycow quit (Quit: Lost terminal) 2020-01-25T09:30:30Z fengshaun quit (Ping timeout: 265 seconds) 2020-01-25T09:33:47Z nowhere_man joined #lisp 2020-01-25T09:33:51Z adamantium quit (Remote host closed the connection) 2020-01-25T09:42:21Z space_otter quit (Remote host closed the connection) 2020-01-25T09:46:33Z nika quit (Read error: Connection reset by peer) 2020-01-25T09:46:36Z frgo quit (Remote host closed the connection) 2020-01-25T09:47:10Z frgo joined #lisp 2020-01-25T09:47:25Z nika joined #lisp 2020-01-25T09:51:46Z frgo quit (Ping timeout: 265 seconds) 2020-01-25T09:55:15Z frgo joined #lisp 2020-01-25T09:57:23Z adamantium joined #lisp 2020-01-25T09:57:44Z wxie quit (Ping timeout: 268 seconds) 2020-01-25T09:58:59Z varjag joined #lisp 2020-01-25T10:00:38Z gko_ quit (Ping timeout: 268 seconds) 2020-01-25T10:03:17Z orivej quit (Ping timeout: 268 seconds) 2020-01-25T10:15:07Z ggole quit (Remote host closed the connection) 2020-01-25T10:15:30Z ggole joined #lisp 2020-01-25T10:18:15Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-25T10:18:49Z jonatack quit (Quit: jonatack) 2020-01-25T10:28:14Z frgo quit (Remote host closed the connection) 2020-01-25T10:31:10Z gxt joined #lisp 2020-01-25T10:36:37Z cosimone joined #lisp 2020-01-25T10:56:02Z nika quit (Read error: Connection reset by peer) 2020-01-25T10:56:28Z nika joined #lisp 2020-01-25T11:00:30Z davepdotorg joined #lisp 2020-01-25T11:01:17Z pjb quit (Remote host closed the connection) 2020-01-25T11:03:37Z klltkr joined #lisp 2020-01-25T11:04:08Z pjb joined #lisp 2020-01-25T11:05:33Z davepdotorg quit (Ping timeout: 260 seconds) 2020-01-25T11:07:51Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-25T11:07:55Z X-Scale` joined #lisp 2020-01-25T11:09:02Z X-Scale` is now known as X-Scale 2020-01-25T11:14:06Z pjb quit (Remote host closed the connection) 2020-01-25T11:16:18Z adamantium quit (Remote host closed the connection) 2020-01-25T11:16:34Z pjb joined #lisp 2020-01-25T11:18:48Z wxie joined #lisp 2020-01-25T11:20:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-25T11:33:11Z adamantium joined #lisp 2020-01-25T11:35:36Z pjb quit (Remote host closed the connection) 2020-01-25T11:37:08Z pjb joined #lisp 2020-01-25T11:39:53Z adamantium quit (Remote host closed the connection) 2020-01-25T11:44:59Z frgo joined #lisp 2020-01-25T11:46:11Z stepnem_ joined #lisp 2020-01-25T11:48:02Z msk_ joined #lisp 2020-01-25T11:48:08Z stepnem quit (Ping timeout: 260 seconds) 2020-01-25T11:48:19Z frgo quit (Remote host closed the connection) 2020-01-25T11:48:21Z pjb quit (Remote host closed the connection) 2020-01-25T11:48:34Z msk quit (Read error: Connection reset by peer) 2020-01-25T11:49:21Z bendersteed joined #lisp 2020-01-25T11:50:40Z random-nick joined #lisp 2020-01-25T11:50:56Z pjb joined #lisp 2020-01-25T11:51:51Z elderK quit (Quit: WeeChat 1.9) 2020-01-25T11:53:30Z atgreen joined #lisp 2020-01-25T12:01:50Z v88m quit (Remote host closed the connection) 2020-01-25T12:02:07Z v88m joined #lisp 2020-01-25T12:02:23Z frgo joined #lisp 2020-01-25T12:06:34Z tiwEllien joined #lisp 2020-01-25T12:06:35Z cosimone quit (Quit: Quit.) 2020-01-25T12:08:48Z pjb quit (Remote host closed the connection) 2020-01-25T12:09:31Z nullniverse joined #lisp 2020-01-25T12:10:37Z atgreen quit (Ping timeout: 260 seconds) 2020-01-25T12:11:14Z pjb joined #lisp 2020-01-25T12:11:39Z gko_ joined #lisp 2020-01-25T12:17:12Z pjb quit (Remote host closed the connection) 2020-01-25T12:18:45Z pjb joined #lisp 2020-01-25T12:18:46Z wxie quit (Ping timeout: 268 seconds) 2020-01-25T12:22:31Z pjb quit (Remote host closed the connection) 2020-01-25T12:25:29Z hhdave joined #lisp 2020-01-25T12:25:37Z pjb joined #lisp 2020-01-25T12:30:12Z orivej joined #lisp 2020-01-25T12:31:02Z pjb quit (Remote host closed the connection) 2020-01-25T12:33:08Z pjb joined #lisp 2020-01-25T12:34:35Z nowhere_man quit (Ping timeout: 272 seconds) 2020-01-25T12:43:04Z pjb quit (Read error: Connection reset by peer) 2020-01-25T12:45:21Z scymtym quit (Ping timeout: 272 seconds) 2020-01-25T12:46:32Z pjb joined #lisp 2020-01-25T12:47:41Z hhdave quit (Quit: hhdave) 2020-01-25T12:49:14Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-25T12:50:34Z X-Scale` joined #lisp 2020-01-25T12:51:03Z bendersteed quit (Ping timeout: 272 seconds) 2020-01-25T12:51:46Z X-Scale` is now known as X-Scale 2020-01-25T12:52:18Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-25T12:52:21Z FreeBird_ joined #lisp 2020-01-25T12:56:50Z adamantium joined #lisp 2020-01-25T13:00:54Z pjb quit (Remote host closed the connection) 2020-01-25T13:05:44Z pjb joined #lisp 2020-01-25T13:07:49Z jmercouris joined #lisp 2020-01-25T13:12:57Z pjb quit (Remote host closed the connection) 2020-01-25T13:13:18Z ebzzry joined #lisp 2020-01-25T13:14:20Z pjb joined #lisp 2020-01-25T13:15:03Z dddddd joined #lisp 2020-01-25T13:20:05Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-25T13:25:14Z Bike joined #lisp 2020-01-25T13:30:55Z pjb quit (Remote host closed the connection) 2020-01-25T13:35:42Z pjb joined #lisp 2020-01-25T13:39:40Z hhdave joined #lisp 2020-01-25T13:40:15Z hhdave quit (Client Quit) 2020-01-25T13:43:08Z pjb quit (Remote host closed the connection) 2020-01-25T13:44:06Z scymtym joined #lisp 2020-01-25T13:46:04Z pjb joined #lisp 2020-01-25T13:50:34Z gravicappa joined #lisp 2020-01-25T13:52:21Z pjb quit (Remote host closed the connection) 2020-01-25T13:53:54Z pjb joined #lisp 2020-01-25T13:54:05Z jonatack joined #lisp 2020-01-25T13:57:40Z frgo quit (Remote host closed the connection) 2020-01-25T14:00:31Z pjb quit (Remote host closed the connection) 2020-01-25T14:02:21Z pjb joined #lisp 2020-01-25T14:03:06Z varjag quit (Ping timeout: 265 seconds) 2020-01-25T14:13:23Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-25T14:20:04Z asdf_asdf_asdf joined #lisp 2020-01-25T14:21:54Z pjb quit (Remote host closed the connection) 2020-01-25T14:24:09Z pjb joined #lisp 2020-01-25T14:25:49Z shifty quit (Ping timeout: 265 seconds) 2020-01-25T14:26:08Z ArthurStrong joined #lisp 2020-01-25T14:30:03Z _whitelogger quit (Remote host closed the connection) 2020-01-25T14:30:52Z pjb quit (Remote host closed the connection) 2020-01-25T14:32:15Z _whitelogger joined #lisp 2020-01-25T14:32:20Z pjb joined #lisp 2020-01-25T14:34:03Z varjag joined #lisp 2020-01-25T14:38:26Z varjag quit (Ping timeout: 240 seconds) 2020-01-25T14:42:54Z msk_ quit (Quit: Leaving) 2020-01-25T14:43:11Z msk joined #lisp 2020-01-25T14:47:25Z krid joined #lisp 2020-01-25T14:48:32Z davr0s quit (Read error: Connection reset by peer) 2020-01-25T14:48:37Z davr0s_ quit (Ping timeout: 268 seconds) 2020-01-25T14:56:37Z FreeBirdLjj joined #lisp 2020-01-25T14:58:03Z orivej quit (Ping timeout: 268 seconds) 2020-01-25T14:59:10Z FreeBird_ quit (Ping timeout: 265 seconds) 2020-01-25T15:01:00Z raghavgururajan joined #lisp 2020-01-25T15:01:45Z lucasb joined #lisp 2020-01-25T15:03:07Z jef9 joined #lisp 2020-01-25T15:03:25Z nullniverse quit (Ping timeout: 268 seconds) 2020-01-25T15:07:31Z msk_ joined #lisp 2020-01-25T15:07:51Z msk_ quit (Client Quit) 2020-01-25T15:08:19Z msk_ joined #lisp 2020-01-25T15:08:47Z msk_ quit (Client Quit) 2020-01-25T15:15:15Z raghavgururajan quit (Remote host closed the connection) 2020-01-25T15:15:19Z Josh_2 joined #lisp 2020-01-25T15:20:40Z trittweiler_ joined #lisp 2020-01-25T15:22:15Z visage_ joined #lisp 2020-01-25T15:25:06Z Josh_2` joined #lisp 2020-01-25T15:28:27Z statusf90 joined #lisp 2020-01-25T15:31:01Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-25T15:31:37Z stepnem_ quit (Read error: Connection reset by peer) 2020-01-25T15:32:13Z stepnem joined #lisp 2020-01-25T15:33:53Z ealfonso quit (Ping timeout: 260 seconds) 2020-01-25T15:34:08Z ealfonso joined #lisp 2020-01-25T15:42:30Z Josh_2` quit (Read error: Connection reset by peer) 2020-01-25T15:42:44Z ealfonso quit (Read error: Connection reset by peer) 2020-01-25T15:45:05Z jprajzne quit (Quit: jprajzne) 2020-01-25T15:45:28Z jprajzne joined #lisp 2020-01-25T15:45:49Z pjb quit (Remote host closed the connection) 2020-01-25T15:47:28Z pjb joined #lisp 2020-01-25T15:48:57Z jef9 quit (Ping timeout: 265 seconds) 2020-01-25T15:49:33Z jprajzne quit (Client Quit) 2020-01-25T15:49:44Z kslt1 joined #lisp 2020-01-25T15:49:52Z visage_ quit (Quit: visage_) 2020-01-25T15:49:58Z jprajzne joined #lisp 2020-01-25T15:53:17Z asdf_asdf_asdf joined #lisp 2020-01-25T15:56:40Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-25T15:57:03Z FreeBirdLjj joined #lisp 2020-01-25T16:01:27Z nika quit 2020-01-25T16:03:28Z EvW joined #lisp 2020-01-25T16:24:46Z refpga joined #lisp 2020-01-25T16:25:09Z asdf_asdf_asdf56 joined #lisp 2020-01-25T16:26:27Z asdf_asdf_asdf quit (Ping timeout: 265 seconds) 2020-01-25T16:26:39Z asdf_asdf_asdf56 is now known as asdf_asdf_asdf 2020-01-25T16:28:53Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-01-25T16:37:58Z davr0s joined #lisp 2020-01-25T16:45:32Z efm quit (Remote host closed the connection) 2020-01-25T16:45:54Z efm joined #lisp 2020-01-25T16:46:48Z lemoinem quit (Ping timeout: 260 seconds) 2020-01-25T16:47:14Z gko_ quit (Ping timeout: 265 seconds) 2020-01-25T16:48:44Z varjag joined #lisp 2020-01-25T16:51:00Z lemoinem joined #lisp 2020-01-25T16:52:41Z asarch joined #lisp 2020-01-25T16:53:31Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-25T16:56:15Z adamantium quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-25T16:56:22Z adamantium joined #lisp 2020-01-25T17:00:00Z gko left #lisp 2020-01-25T17:01:08Z FreeBirdLjj joined #lisp 2020-01-25T17:03:32Z EvW quit (Ping timeout: 248 seconds) 2020-01-25T17:04:29Z Bad_K4rMa joined #lisp 2020-01-25T17:06:08Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-25T17:12:29Z efm quit (Read error: Connection reset by peer) 2020-01-25T17:16:07Z efm joined #lisp 2020-01-25T17:18:11Z brown121407 joined #lisp 2020-01-25T17:19:05Z brown121408 quit (Ping timeout: 268 seconds) 2020-01-25T17:22:07Z v88m quit (Ping timeout: 272 seconds) 2020-01-25T17:23:29Z jonatack quit (Ping timeout: 265 seconds) 2020-01-25T17:25:28Z EvW joined #lisp 2020-01-25T17:30:57Z frgo joined #lisp 2020-01-25T17:34:28Z ebzzry quit (Read error: Connection reset by peer) 2020-01-25T17:38:50Z klltkr joined #lisp 2020-01-25T17:43:39Z FreeBirdLjj joined #lisp 2020-01-25T17:47:55Z jonatack joined #lisp 2020-01-25T17:48:11Z ArthurStrong quit (Quit: leaving) 2020-01-25T17:48:37Z ggole quit (Remote host closed the connection) 2020-01-25T17:48:52Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-25T17:49:00Z ggole joined #lisp 2020-01-25T17:51:31Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-25T17:53:05Z FreeBirdLjj joined #lisp 2020-01-25T17:53:06Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-25T17:57:56Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-25T17:58:57Z zaquest joined #lisp 2020-01-25T18:00:23Z FreeBirdLjj joined #lisp 2020-01-25T18:06:08Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-25T18:08:09Z zaquest quit (Quit: Leaving) 2020-01-25T18:08:45Z karlosz joined #lisp 2020-01-25T18:09:12Z FreeBirdLjj joined #lisp 2020-01-25T18:10:26Z zaquest joined #lisp 2020-01-25T18:13:48Z cl-arthur joined #lisp 2020-01-25T18:13:57Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-25T18:14:15Z oni-on-ion joined #lisp 2020-01-25T18:15:12Z Bad_K4rMa quit (Ping timeout: 265 seconds) 2020-01-25T18:28:01Z oni-on-ion quit (Remote host closed the connection) 2020-01-25T18:30:25Z Oladon joined #lisp 2020-01-25T18:32:56Z scymtym quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2020-01-25T18:35:00Z v88m joined #lisp 2020-01-25T18:36:40Z bendersteed joined #lisp 2020-01-25T18:39:16Z Abe joined #lisp 2020-01-25T18:42:03Z FreeBirdLjj joined #lisp 2020-01-25T18:44:09Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-01-25T18:44:22Z FreeBirdLjj joined #lisp 2020-01-25T18:50:48Z Jeanne-Kamikaze joined #lisp 2020-01-25T18:51:39Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-25T18:52:42Z Bad_K4rMa joined #lisp 2020-01-25T18:52:43Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-25T18:53:53Z FreeBirdLjj joined #lisp 2020-01-25T18:56:32Z FreeBird_ joined #lisp 2020-01-25T18:56:45Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-01-25T19:01:38Z FreeBird_ quit (Ping timeout: 268 seconds) 2020-01-25T19:01:52Z brettgilio quit (Ping timeout: 260 seconds) 2020-01-25T19:03:37Z FreeBirdLjj joined #lisp 2020-01-25T19:03:51Z sjl joined #lisp 2020-01-25T19:04:06Z scymtym joined #lisp 2020-01-25T19:05:49Z asarch quit (Quit: Leaving) 2020-01-25T19:08:42Z adamantium quit (Remote host closed the connection) 2020-01-25T19:13:13Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-25T19:15:13Z adamantium joined #lisp 2020-01-25T19:15:38Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-25T19:16:22Z dale joined #lisp 2020-01-25T19:21:38Z Abe quit (Ping timeout: 240 seconds) 2020-01-25T19:25:27Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-25T19:29:52Z EvW quit (Ping timeout: 260 seconds) 2020-01-25T19:30:14Z cosimone joined #lisp 2020-01-25T19:30:28Z trafaret1 joined #lisp 2020-01-25T19:30:32Z FreeBirdLjj joined #lisp 2020-01-25T19:31:22Z Abe joined #lisp 2020-01-25T19:35:59Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-25T19:36:55Z FreeBirdLjj joined #lisp 2020-01-25T19:38:00Z akoana joined #lisp 2020-01-25T19:38:26Z Abe quit (Ping timeout: 240 seconds) 2020-01-25T19:41:48Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-25T19:42:32Z FreeBirdLjj joined #lisp 2020-01-25T19:42:42Z trafaret1 left #lisp 2020-01-25T19:45:34Z malfort joined #lisp 2020-01-25T19:47:14Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-25T19:50:47Z ggole quit (Quit: Leaving) 2020-01-25T19:53:34Z Oladon quit (Quit: Leaving.) 2020-01-25T19:53:49Z cosimone quit (Quit: Quit.) 2020-01-25T20:00:39Z krid quit (Ping timeout: 268 seconds) 2020-01-25T20:04:06Z slyrus__ joined #lisp 2020-01-25T20:04:22Z orivej joined #lisp 2020-01-25T20:06:26Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-25T20:07:08Z EvW joined #lisp 2020-01-25T20:15:14Z klltkr joined #lisp 2020-01-25T20:16:20Z FreeBirdLjj joined #lisp 2020-01-25T20:20:18Z shangul quit (Ping timeout: 260 seconds) 2020-01-25T20:20:53Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-25T20:21:53Z krid joined #lisp 2020-01-25T20:23:29Z refpga quit (Ping timeout: 265 seconds) 2020-01-25T20:29:17Z bitmapper joined #lisp 2020-01-25T20:31:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-25T20:32:43Z narimiran quit (Ping timeout: 268 seconds) 2020-01-25T20:37:38Z asdf_asdf_asdf quit (Ping timeout: 240 seconds) 2020-01-25T20:38:07Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-25T20:40:03Z asdf_asdf_asdf joined #lisp 2020-01-25T20:42:02Z shka_ quit (Ping timeout: 240 seconds) 2020-01-25T20:46:00Z FreeBirdLjj joined #lisp 2020-01-25T20:50:26Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-01-25T20:52:20Z FreeBirdLjj joined #lisp 2020-01-25T20:55:47Z Abe joined #lisp 2020-01-25T20:56:18Z klltkr_ joined #lisp 2020-01-25T20:57:51Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-25T20:58:02Z klltkr quit (Ping timeout: 240 seconds) 2020-01-25T21:02:35Z dale quit (Quit: dale) 2020-01-25T21:03:56Z dale joined #lisp 2020-01-25T21:04:43Z FreeBirdLjj joined #lisp 2020-01-25T21:07:33Z tokik quit (Ping timeout: 260 seconds) 2020-01-25T21:08:26Z sjl quit (Ping timeout: 265 seconds) 2020-01-25T21:09:43Z orivej quit (Ping timeout: 268 seconds) 2020-01-25T21:10:10Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-25T21:12:04Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-25T21:13:12Z jmercouris joined #lisp 2020-01-25T21:13:20Z FreeBirdLjj joined #lisp 2020-01-25T21:16:58Z EvW quit (Ping timeout: 245 seconds) 2020-01-25T21:17:19Z jmercouris quit (Remote host closed the connection) 2020-01-25T21:18:03Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-25T21:20:07Z brown121407 quit (Read error: Connection reset by peer) 2020-01-25T21:20:08Z 07IADLP05 joined #lisp 2020-01-25T21:20:37Z Oladon joined #lisp 2020-01-25T21:20:51Z FreeBirdLjj joined #lisp 2020-01-25T21:21:45Z sjl joined #lisp 2020-01-25T21:27:14Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-01-25T21:31:32Z klltkr_ quit (Quit: Textual IRC Client: www.textualapp.com) 2020-01-25T21:32:03Z krid quit (Ping timeout: 260 seconds) 2020-01-25T21:33:39Z xrash joined #lisp 2020-01-25T21:34:08Z FreeBirdLjj joined #lisp 2020-01-25T21:39:40Z EvW joined #lisp 2020-01-25T21:45:40Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-25T21:48:09Z FreeBirdLjj joined #lisp 2020-01-25T21:51:08Z cl-arthur joined #lisp 2020-01-25T21:52:54Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-25T21:54:09Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-25T21:54:41Z Ven`` joined #lisp 2020-01-25T21:57:06Z orivej joined #lisp 2020-01-25T22:04:59Z hiroaki quit (Ping timeout: 265 seconds) 2020-01-25T22:09:40Z bitmapper quit 2020-01-25T22:17:08Z krid joined #lisp 2020-01-25T22:22:14Z clothespin joined #lisp 2020-01-25T22:23:20Z akoana left #lisp 2020-01-25T22:23:50Z Abe quit (Ping timeout: 265 seconds) 2020-01-25T22:24:03Z oldtopman quit (Remote host closed the connection) 2020-01-25T22:28:58Z Bad_K4rMa joined #lisp 2020-01-25T22:33:59Z cgay joined #lisp 2020-01-25T22:43:04Z dddddd_ joined #lisp 2020-01-25T22:44:54Z shifty joined #lisp 2020-01-25T22:46:23Z dddddd quit (Ping timeout: 272 seconds) 2020-01-25T22:53:47Z dddddd_ is now known as dddddd 2020-01-25T22:58:36Z edgar-rft quit (Remote host closed the connection) 2020-01-25T23:00:14Z edgar-rft joined #lisp 2020-01-25T23:02:09Z Ven`` quit (Read error: Connection reset by peer) 2020-01-25T23:02:15Z Ven``_ joined #lisp 2020-01-25T23:04:05Z kslt1 quit (Remote host closed the connection) 2020-01-25T23:04:39Z Ven``_ quit (Client Quit) 2020-01-25T23:18:27Z statusf90 quit (Ping timeout: 265 seconds) 2020-01-25T23:24:41Z statusf90 joined #lisp 2020-01-25T23:27:26Z orivej quit (Ping timeout: 265 seconds) 2020-01-25T23:29:54Z galdor quit (Quit: WeeChat 2.7) 2020-01-25T23:34:17Z clothespin quit (Ping timeout: 260 seconds) 2020-01-25T23:36:46Z ebzzry joined #lisp 2020-01-25T23:38:28Z copec quit (Quit: checkity check out.) 2020-01-25T23:39:16Z galdor joined #lisp 2020-01-25T23:40:23Z xrash quit (Read error: Connection reset by peer) 2020-01-25T23:45:24Z copec joined #lisp 2020-01-25T23:51:53Z cornett joined #lisp 2020-01-25T23:58:24Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-26T00:06:09Z Lord_of_Life_ joined #lisp 2020-01-26T00:09:33Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-26T00:09:34Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-26T00:11:37Z random-nick quit (Ping timeout: 265 seconds) 2020-01-26T00:12:50Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-26T00:13:15Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-01-26T00:18:34Z no-defun-allowed: ::notify drmeister I updated ABCL-in-Minecraft for 1.15 because the Forge mod API changed for no good reason: https://gitlab.com/cal-coop/abcl-minecraft-again 2020-01-26T00:18:34Z Colleen: no-defun-allowed: Got it. I'll let drmeister know as soon as possible. 2020-01-26T00:19:09Z no-defun-allowed: (And GitLab makes me wait a day for the old repository to be deleted, which is new and very annoying.) 2020-01-26T00:24:23Z FreeBirdLjj joined #lisp 2020-01-26T00:26:41Z Oladon: So I've installed sbcl via apt on Debian running in the Windows Subsystem for Linux... and I'm getting "invalid magic number in core" when trying to start it. Any ideas? 2020-01-26T00:26:57Z Oladon: (Trying to compile it myself results in a different [fatal] error, unfortunately) 2020-01-26T00:27:46Z asdf_asdf_asdf: Oladon, set variables environment, maybe in it is issue. 2020-01-26T00:28:17Z asdf_asdf_asdf: You maybe use older version than current. 2020-01-26T00:29:11Z Oladon: It is a slightly older version, but not too old — 1.4.16 2020-01-26T00:30:46Z asdf_asdf_asdf: You must set valid configuration file, that Windows under Linux works. 2020-01-26T00:31:16Z Oladon: asdf_asdf_asdf: I'm not sure what you mean. Linux is running fine on WSL... it's just sbcl that's acting up. 2020-01-26T00:31:23Z Oladon: Emacs runs perfectly, for example. 2020-01-26T00:31:59Z asdf_asdf_asdf: Run sbcl via command line. 2020-01-26T00:31:59Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-26T00:32:05Z Oladon: Yes, that's what I'm doing. 2020-01-26T00:32:23Z asdf_asdf_asdf: And check loaded module to SBCL in system memory, registers. 2020-01-26T00:32:56Z Oladon: As I mentioned above, sbcl doesn't run. It exits with a mysterious error: "invalid magic number in core: f145342434c should have been 5342434c" 2020-01-26T00:34:12Z asdf_asdf_asdf: Check init file SBCL. 2020-01-26T00:34:23Z asdf_asdf_asdf: https://bbs.archlinux.org/viewtopic.php?id=178314 2020-01-26T00:35:00Z Oladon: asdf_asdf_asdf: Where does sbcl's init file live? 2020-01-26T00:35:13Z asdf_asdf_asdf: http://www.sbcl.org/manual/#Initialization-Files 2020-01-26T00:35:49Z Oladon: Thanks, looking into it... 2020-01-26T00:36:41Z Oladon: Hmm, there's nothing in the initfile... 2020-01-26T00:37:41Z asdf_asdf_asdf: Try run SBCL with option "--no-sysinit". 2020-01-26T00:37:48Z terpri quit (Ping timeout: 245 seconds) 2020-01-26T00:37:49Z Oladon: Tried that; same issue 2020-01-26T00:39:14Z Oladon: The odd thing is that the number it's expecting seems to be a substring of the number it receives 2020-01-26T00:39:34Z asdf_asdf_asdf: (SB-IMPL::USERINIT-PATHNAME) 2020-01-26T00:39:43Z Oladon: There's no userinit 2020-01-26T00:39:51Z asdf_asdf_asdf: Check it run it in SBCL. 2020-01-26T00:40:01Z asdf_asdf_asdf: https://stackoverflow.com/questions/2245854/sbcl-initialization-file 2020-01-26T00:40:04Z Oladon: I can't run anything in sbcl, it won't start... 2020-01-26T00:41:27Z asdf_asdf_asdf: Oladon, this is https://stackoverflow.com/questions/9055589/how-can-i-run-sbcl-code-under-a-unix-like-operating-system-in-a-convenient-way . 2020-01-26T00:42:02Z Oladon: That doesn't seem relevant... 2020-01-26T00:42:34Z galdor quit (Quit: WeeChat 2.7) 2020-01-26T00:44:19Z asdf_asdf_asdf: https://github.com/microsoft/WSL/issues/1128 Read is? 2020-01-26T00:44:30Z galdor joined #lisp 2020-01-26T00:45:08Z _death: Oladon: there are binaries here http://sbcl.org/platform-table.html 2020-01-26T00:45:25Z Oladon: _death: Yeah, haven't been able to get those running either... but trying a different one now 2020-01-26T00:46:54Z asdf_asdf_asdf: https://irclog.tymoon.eu/freenode/lisp?to=1566468794 Likeness issue. 2020-01-26T00:47:23Z _death: oh, windows subsystem thingy.. dunno about that 2020-01-26T00:47:30Z Oladon: hehe :D 2020-01-26T00:47:43Z Oladon: I'm _loving_ it so far... it's like the beautiful blend of Windows and Linux that I've always wanted. 2020-01-26T00:47:47Z Oladon: Except for not being able to run SBCL yet :P 2020-01-26T00:48:48Z Oladon: Bwahaha! AMD64 binary of 2.0.0 installed and working! 2020-01-26T00:49:15Z turona quit (Ping timeout: 272 seconds) 2020-01-26T00:49:36Z turona joined #lisp 2020-01-26T01:04:47Z adolby quit (Ping timeout: 265 seconds) 2020-01-26T01:05:09Z adolby joined #lisp 2020-01-26T01:11:50Z mfiano: Xach: did you ever finish that cpu core query thing? 2020-01-26T01:18:29Z wxie joined #lisp 2020-01-26T01:19:19Z terpri joined #lisp 2020-01-26T01:35:00Z wr joined #lisp 2020-01-26T01:35:32Z wr quit (Client Quit) 2020-01-26T01:41:10Z gko_ joined #lisp 2020-01-26T02:01:12Z nullniverse joined #lisp 2020-01-26T02:02:41Z nullniverse quit (Max SendQ exceeded) 2020-01-26T02:03:10Z nullniverse joined #lisp 2020-01-26T02:03:14Z FreeBirdLjj joined #lisp 2020-01-26T02:08:52Z adamantium quit (Ping timeout: 260 seconds) 2020-01-26T02:20:08Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-26T02:21:26Z gioyik joined #lisp 2020-01-26T02:23:36Z mfiano: Is there a way for the generated string to have commas in the left part of a floating point number with FORMAT? Like ~:d will print 1000 as "1,000", but similarly for 1000.0 -> "1,000.0". The reason I ask, is I'd like to control the number of digits after the decimal point to be 2, with ~,2f, but also would like the digits before the decimal point to have commas in the appropriate place. 2020-01-26T02:30:06Z mfiano: and before anyone asks, no, this is not improperly using fp for money :) 2020-01-26T02:30:10Z nirved: https://stackoverflow.com/questions/35012859/in-common-lisp-how-can-i-format-a-floating-point-and-specify-grouping-group-cha 2020-01-26T02:31:33Z EvW quit (Ping timeout: 245 seconds) 2020-01-26T02:32:01Z oldtopman joined #lisp 2020-01-26T02:33:37Z mfiano: Well, my current solution is (multiple-value-call #'format nil "~:d~,2f" (truncate number)). Was just wondering if I was missing anything. 2020-01-26T02:34:40Z nirved: round might be better than truncate 2020-01-26T02:35:20Z mfiano: That would potentially alter the number to the left of the decimal. 2020-01-26T02:36:22Z nirved: also your one-liner prints an extra zero before the fractional part 2020-01-26T02:37:36Z mfiano: Ah very true 2020-01-26T02:43:28Z mfiano: (multiple-value-call #'format nil "~:d~2,2,,,2f" (truncate number)) seems better then 2020-01-26T02:44:39Z nirved: (let* ((precision 2) (exp (expt 10 precision)) (round (round number (/ exp)))) (multiple-value-bind (div rem) (floor round exp) (format nil "~:d.~v,'0d" div precision rem))) 2020-01-26T02:45:02Z Nilby joined #lisp 2020-01-26T02:45:44Z PuercoPope joined #lisp 2020-01-26T02:46:18Z mfiano: Well I just solved it with fewer function calls 2020-01-26T03:03:41Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-26T03:08:41Z pjb quit (Remote host closed the connection) 2020-01-26T03:10:35Z pjb joined #lisp 2020-01-26T03:20:26Z PuercoPope quit (Remote host closed the connection) 2020-01-26T03:21:23Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-26T03:23:10Z nullniverse quit (Quit: Leaving) 2020-01-26T03:34:37Z rwcom2 joined #lisp 2020-01-26T03:36:33Z rwcom quit (Ping timeout: 268 seconds) 2020-01-26T03:36:33Z rwcom2 is now known as rwcom 2020-01-26T03:38:38Z torbo joined #lisp 2020-01-26T03:44:05Z wxie quit (Remote host closed the connection) 2020-01-26T03:47:20Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-26T03:50:36Z adom` joined #lisp 2020-01-26T04:14:33Z jibanes quit (Ping timeout: 260 seconds) 2020-01-26T04:15:35Z gabiruh_ joined #lisp 2020-01-26T04:16:26Z jibanes joined #lisp 2020-01-26T04:18:24Z Arcaelyx joined #lisp 2020-01-26T04:19:05Z gabiruh quit (Ping timeout: 265 seconds) 2020-01-26T04:25:52Z vory joined #lisp 2020-01-26T04:27:39Z vory quit (Client Quit) 2020-01-26T04:39:39Z adom` quit (Remote host closed the connection) 2020-01-26T04:45:14Z madrik joined #lisp 2020-01-26T04:47:07Z ebzzry quit (Read error: Connection reset by peer) 2020-01-26T05:00:41Z oxum quit (Ping timeout: 272 seconds) 2020-01-26T05:03:45Z statusf90 quit (Quit: statusf90) 2020-01-26T05:08:22Z oxum joined #lisp 2020-01-26T05:10:52Z gravicappa joined #lisp 2020-01-26T05:23:29Z shifty quit (Ping timeout: 272 seconds) 2020-01-26T05:25:19Z beach: Good morning everyone! 2020-01-26T05:28:50Z Nilby quit (Ping timeout: 240 seconds) 2020-01-26T05:29:13Z trittweiler_ quit (Ping timeout: 268 seconds) 2020-01-26T05:33:10Z ebzzry joined #lisp 2020-01-26T05:40:05Z orivej joined #lisp 2020-01-26T05:45:22Z adamantium joined #lisp 2020-01-26T05:52:32Z cgay: I'm suddenly unable to M-. a macro call with slime: "DEFINITION-SOURCE of macro LTD-FN did not contain meaningful information." Is it possible that recompiling the macro (with C-M-x) broke the who-calls info? Known problem? 2020-01-26T05:52:32Z ebzzry quit (Read error: Connection reset by peer) 2020-01-26T05:54:38Z gnufr33d0m joined #lisp 2020-01-26T05:58:00Z cgay: (sbcl 1.5.6, slime 2.23) 2020-01-26T06:01:02Z cgay: M-x slime-compile-and-load-file fixes it 2020-01-26T06:01:28Z FreeBirdLjj joined #lisp 2020-01-26T06:01:42Z cgay: C-M-x breaks it again. This seems pretty bad. Am I holding it wrong? 2020-01-26T06:05:48Z beach: Does it have anything to do with the DEBUG OPTIMIZE quality? 2020-01-26T06:06:20Z pjb: cgay: it's normal, slime-eval-defun doesn't know about the file. 2020-01-26T06:06:30Z pjb: You could use it in a buffer that is not saved to a file. 2020-01-26T06:06:45Z beach: Ah, sounds right. 2020-01-26T06:07:16Z pjb: cgay: always use C-c C-l or C-c C-k. 2020-01-26T06:07:31Z cgay: ah, thanks 2020-01-26T06:07:38Z pjb: Furthermore, when you edit a macro, you need to reload or recompile the rest of the project that use this macro! 2020-01-26T06:07:55Z pjb: It's basically useless to C-x C-e a macro alone… 2020-01-26T06:08:27Z cgay: I'm just debugging a particular call to the macro (which I also hit C-M-x on) 2020-01-26T06:08:34Z pjb: Of course… 2020-01-26T06:09:02Z pjb: Do you really need to jump to the source? Isn't your macro too big in this case? You can call subfunctions from a macro… 2020-01-26T06:09:08Z pjb: (and debug them separately). 2020-01-26T06:09:22Z cgay: talk to peter norvig, he wrote it. :) 2020-01-26T06:14:10Z cgay: tbh, I don't see why this needs to be a macro at all 2020-01-26T06:15:12Z Bike quit (Quit: Lost terminal) 2020-01-26T06:16:21Z voidlily quit (Remote host closed the connection) 2020-01-26T06:16:33Z narimiran joined #lisp 2020-01-26T06:19:27Z voidlily joined #lisp 2020-01-26T06:20:48Z ggole joined #lisp 2020-01-26T06:23:40Z krid quit (Ping timeout: 268 seconds) 2020-01-26T06:24:42Z ebzzry joined #lisp 2020-01-26T06:24:51Z trittweiler_ joined #lisp 2020-01-26T06:29:19Z shangul joined #lisp 2020-01-26T06:37:44Z dddddd quit (Remote host closed the connection) 2020-01-26T06:46:33Z adamantium quit (Remote host closed the connection) 2020-01-26T06:52:10Z torbo quit (Remote host closed the connection) 2020-01-26T06:54:06Z _whitelogger quit (Remote host closed the connection) 2020-01-26T06:56:15Z _whitelogger joined #lisp 2020-01-26T07:04:02Z gnufr33d0m quit (Ping timeout: 240 seconds) 2020-01-26T07:05:54Z vlatkoB joined #lisp 2020-01-26T07:06:11Z oni-on-ion joined #lisp 2020-01-26T07:10:43Z gioyik quit (Ping timeout: 260 seconds) 2020-01-26T07:10:48Z trittweiler_ is now known as tcr 2020-01-26T07:22:01Z shifty joined #lisp 2020-01-26T07:33:52Z Oladon quit (Quit: Leaving.) 2020-01-26T07:41:55Z gioyik joined #lisp 2020-01-26T07:49:20Z tcr quit (Ping timeout: 265 seconds) 2020-01-26T07:50:00Z gioyik quit (Ping timeout: 268 seconds) 2020-01-26T07:50:58Z Arcaelyx quit (Ping timeout: 260 seconds) 2020-01-26T07:52:34Z gioyik joined #lisp 2020-01-26T07:57:02Z _whitelogger quit (Remote host closed the connection) 2020-01-26T07:59:14Z gioyik quit (Ping timeout: 240 seconds) 2020-01-26T07:59:15Z _whitelogger joined #lisp 2020-01-26T08:00:05Z rwcom7 joined #lisp 2020-01-26T08:02:27Z rwcom quit (Ping timeout: 272 seconds) 2020-01-26T08:02:27Z rwcom7 is now known as rwcom 2020-01-26T08:03:06Z mangul joined #lisp 2020-01-26T08:05:17Z shangul quit (Ping timeout: 265 seconds) 2020-01-26T08:11:52Z tcr joined #lisp 2020-01-26T08:18:28Z shka_ joined #lisp 2020-01-26T08:19:16Z ealfonso joined #lisp 2020-01-26T08:22:12Z tcr quit (Ping timeout: 265 seconds) 2020-01-26T08:24:36Z ggole quit (Remote host closed the connection) 2020-01-26T08:24:59Z ggole joined #lisp 2020-01-26T08:27:20Z cartwright quit (Remote host closed the connection) 2020-01-26T08:29:20Z cartwright joined #lisp 2020-01-26T08:31:23Z Nistur quit (Ping timeout: 265 seconds) 2020-01-26T08:31:29Z Nistur joined #lisp 2020-01-26T08:36:47Z mangul is now known as shangul 2020-01-26T08:45:02Z tcr joined #lisp 2020-01-26T08:50:37Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-26T08:51:33Z FreeBirdLjj joined #lisp 2020-01-26T08:52:54Z gioyik joined #lisp 2020-01-26T09:05:42Z Necktwi quit (Ping timeout: 265 seconds) 2020-01-26T09:05:51Z gioyik quit (Ping timeout: 268 seconds) 2020-01-26T09:11:28Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-26T09:15:57Z rippa joined #lisp 2020-01-26T09:22:21Z Necktwi joined #lisp 2020-01-26T09:26:04Z rtaylor joined #lisp 2020-01-26T09:33:38Z rtaylor quit (Quit: Lost terminal) 2020-01-26T09:34:14Z random-nick joined #lisp 2020-01-26T09:39:25Z nowhere_man joined #lisp 2020-01-26T09:47:44Z phlim joined #lisp 2020-01-26T09:54:25Z gioyik joined #lisp 2020-01-26T09:55:07Z harovali joined #lisp 2020-01-26T10:00:35Z davepdotorg joined #lisp 2020-01-26T10:01:31Z harovali quit (Ping timeout: 272 seconds) 2020-01-26T10:02:36Z harovali joined #lisp 2020-01-26T10:04:59Z ealfonso quit (Ping timeout: 246 seconds) 2020-01-26T10:05:55Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-26T10:06:53Z msk quit (Remote host closed the connection) 2020-01-26T10:07:12Z msk joined #lisp 2020-01-26T10:07:31Z gioyik quit (Ping timeout: 268 seconds) 2020-01-26T10:09:58Z harovali: hi! When defining my own classes in a new packe of mine, why can I be getting the names of the classes or the slots evaluated as if they were unexistent variables ? see the code here please http://tiny.cc/z196iz 2020-01-26T10:10:37Z varjag joined #lisp 2020-01-26T10:11:38Z Necktwi quit (Ping timeout: 240 seconds) 2020-01-26T10:12:38Z dale quit (Quit: My computer has gone to sleep) 2020-01-26T10:14:11Z karlosz quit (Quit: karlosz) 2020-01-26T10:17:58Z scymtym quit (Ping timeout: 260 seconds) 2020-01-26T10:22:10Z Necktwi joined #lisp 2020-01-26T10:25:14Z gioyik joined #lisp 2020-01-26T10:26:04Z pnp joined #lisp 2020-01-26T10:26:28Z no-defun-allowed: Make sure your package :USEs the CL package. 2020-01-26T10:27:12Z xkapastel joined #lisp 2020-01-26T10:28:09Z harovali: no-defun-allowed: thanks! now it works. Is it mandatory always? 2020-01-26T10:28:45Z no-defun-allowed: I think the default USE list of a package is undefined. 2020-01-26T10:35:05Z gioyik quit (Ping timeout: 268 seconds) 2020-01-26T10:41:17Z davr0s_ joined #lisp 2020-01-26T10:49:27Z harovali: no-defun-allowed: thank you 2020-01-26T11:02:24Z orivej quit (Ping timeout: 268 seconds) 2020-01-26T11:06:03Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-26T11:12:54Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-26T11:13:51Z hiroaki joined #lisp 2020-01-26T11:19:57Z FreeBirdLjj joined #lisp 2020-01-26T11:22:17Z nika joined #lisp 2020-01-26T11:25:11Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-26T11:27:20Z kslt1 joined #lisp 2020-01-26T11:28:17Z narimiran quit (Ping timeout: 265 seconds) 2020-01-26T11:39:22Z FreeBirdLjj joined #lisp 2020-01-26T11:44:09Z v88m quit (Ping timeout: 268 seconds) 2020-01-26T11:46:32Z gioyik joined #lisp 2020-01-26T11:52:34Z EvW1 joined #lisp 2020-01-26T11:53:23Z ebzzry joined #lisp 2020-01-26T11:54:51Z harovali: I know lexical bindings are special names. However I wonder, it is posible to setf a lexical binding from within a specially crafted macro expanded in the lexical scope? 2020-01-26T11:59:42Z gioyik quit (Ping timeout: 265 seconds) 2020-01-26T12:01:06Z jmercouris joined #lisp 2020-01-26T12:01:08Z EvW1 quit (Ping timeout: 248 seconds) 2020-01-26T12:05:45Z tiwEllien joined #lisp 2020-01-26T12:06:53Z msk quit (Remote host closed the connection) 2020-01-26T12:07:10Z msk joined #lisp 2020-01-26T12:08:09Z Lord_of_Life_ joined #lisp 2020-01-26T12:09:51Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-26T12:09:51Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-26T12:10:21Z harovali: in other words, can macros be used to manipulate lexical variables? 2020-01-26T12:11:24Z Shinmera: sure, they do it all the time. 2020-01-26T12:11:36Z Shinmera: clhs push 2020-01-26T12:11:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_push.htm 2020-01-26T12:11:38Z Shinmera: clhs incf 2020-01-26T12:11:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_incf_.htm 2020-01-26T12:11:41Z Shinmera: etc. 2020-01-26T12:11:53Z harovali: Shinmera: thank you 2020-01-26T12:12:02Z Shinmera: look at the macro expansion of one of those. 2020-01-26T12:16:53Z msk quit (Remote host closed the connection) 2020-01-26T12:17:11Z msk joined #lisp 2020-01-26T12:20:59Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-26T12:22:08Z FreeBirdLjj joined #lisp 2020-01-26T12:24:57Z dddddd joined #lisp 2020-01-26T12:26:03Z EvW joined #lisp 2020-01-26T12:26:09Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-26T12:26:17Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-26T12:26:30Z FreeBirdLjj joined #lisp 2020-01-26T12:26:56Z adamantium joined #lisp 2020-01-26T12:27:49Z tiwEllien joined #lisp 2020-01-26T12:29:58Z rwcom2 joined #lisp 2020-01-26T12:30:25Z oni-on-ion quit (Remote host closed the connection) 2020-01-26T12:30:48Z oni-on-ion joined #lisp 2020-01-26T12:31:49Z rwcom quit (Ping timeout: 268 seconds) 2020-01-26T12:31:50Z rwcom2 is now known as rwcom 2020-01-26T12:32:45Z cyberlard quit (Quit: Leaving) 2020-01-26T12:34:07Z v88m joined #lisp 2020-01-26T12:35:26Z dddddd_ joined #lisp 2020-01-26T12:36:44Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-26T12:37:41Z dddddd quit (Ping timeout: 265 seconds) 2020-01-26T12:37:57Z dddddd_ is now known as dddddd 2020-01-26T12:41:38Z v88m quit (Ping timeout: 240 seconds) 2020-01-26T12:41:39Z madage quit (Remote host closed the connection) 2020-01-26T12:44:09Z cosimone joined #lisp 2020-01-26T12:44:55Z EvW quit (Ping timeout: 272 seconds) 2020-01-26T12:47:38Z cyberlard joined #lisp 2020-01-26T12:47:53Z msk quit (Remote host closed the connection) 2020-01-26T12:48:10Z msk joined #lisp 2020-01-26T12:50:13Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-26T12:50:44Z X-Scale` joined #lisp 2020-01-26T12:51:55Z X-Scale` is now known as X-Scale 2020-01-26T12:53:54Z msk quit (Remote host closed the connection) 2020-01-26T12:54:13Z msk joined #lisp 2020-01-26T12:54:41Z Bike joined #lisp 2020-01-26T12:55:51Z msk quit (Remote host closed the connection) 2020-01-26T12:56:10Z msk joined #lisp 2020-01-26T13:01:05Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-26T13:01:52Z cosimone quit (Quit: Quit.) 2020-01-26T13:01:55Z X-Scale` joined #lisp 2020-01-26T13:02:42Z lucasb joined #lisp 2020-01-26T13:03:12Z X-Scale` is now known as X-Scale 2020-01-26T13:08:37Z ebzzry quit (Read error: Connection reset by peer) 2020-01-26T13:11:43Z cl-arthur joined #lisp 2020-01-26T13:13:07Z EvW1 joined #lisp 2020-01-26T13:25:20Z Abe joined #lisp 2020-01-26T13:27:11Z adamantium quit (Remote host closed the connection) 2020-01-26T13:27:22Z pjb: harovali: but you cannot mutate the lexical variable at macroexpansion time, because at that time, no such lexical variable exist. 2020-01-26T13:27:23Z _jrjsmrtn joined #lisp 2020-01-26T13:27:47Z pjb: harovali: think about it, macroexpansion occurs once, but lexical variables are created several times, each time the function is called! 2020-01-26T13:28:37Z __jrjsmrtn__ quit (Ping timeout: 272 seconds) 2020-01-26T13:30:47Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-26T13:32:15Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-26T13:33:39Z tiwEllien joined #lisp 2020-01-26T13:36:01Z pnp quit (Remote host closed the connection) 2020-01-26T13:38:08Z madage joined #lisp 2020-01-26T13:38:18Z gioyik joined #lisp 2020-01-26T13:44:09Z scymtym joined #lisp 2020-01-26T13:44:52Z gioyik quit (Ping timeout: 265 seconds) 2020-01-26T13:55:30Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-26T13:55:38Z gioyik joined #lisp 2020-01-26T13:57:18Z davr0s_ quit (Quit: Ex-Chat) 2020-01-26T13:57:32Z cosimone joined #lisp 2020-01-26T13:57:34Z tiwEllien joined #lisp 2020-01-26T14:00:48Z asdf_asdf_asdf joined #lisp 2020-01-26T14:03:55Z gioyik quit (Ping timeout: 265 seconds) 2020-01-26T14:04:02Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-26T14:05:05Z davr0s_ joined #lisp 2020-01-26T14:05:05Z jprajzne quit (Quit: jprajzne) 2020-01-26T14:05:31Z jprajzne joined #lisp 2020-01-26T14:09:34Z jprajzne quit (Client Quit) 2020-01-26T14:09:41Z tiwEllien joined #lisp 2020-01-26T14:09:57Z jprajzne joined #lisp 2020-01-26T14:14:48Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-26T14:14:50Z varjag quit (Ping timeout: 240 seconds) 2020-01-26T14:16:03Z tiwEllien joined #lisp 2020-01-26T14:18:07Z Jesin joined #lisp 2020-01-26T14:18:25Z raghavgururajan joined #lisp 2020-01-26T14:20:34Z i473289473829 joined #lisp 2020-01-26T14:20:57Z i473289473829 quit (Remote host closed the connection) 2020-01-26T14:21:50Z kisp joined #lisp 2020-01-26T14:23:09Z gioyik joined #lisp 2020-01-26T14:23:34Z kisp quit (Remote host closed the connection) 2020-01-26T14:24:24Z raghavgururajan quit (Remote host closed the connection) 2020-01-26T14:30:10Z v88m joined #lisp 2020-01-26T14:31:43Z gioyik quit (Ping timeout: 260 seconds) 2020-01-26T14:33:43Z gnufr33d0m joined #lisp 2020-01-26T14:34:13Z varjag joined #lisp 2020-01-26T14:39:30Z krid joined #lisp 2020-01-26T14:43:43Z ebzzry joined #lisp 2020-01-26T14:45:22Z rwcom5 joined #lisp 2020-01-26T14:46:50Z rwcom quit (Ping timeout: 240 seconds) 2020-01-26T14:46:51Z rwcom5 is now known as rwcom 2020-01-26T14:47:18Z xuxuru joined #lisp 2020-01-26T14:53:18Z Abe quit (Ping timeout: 260 seconds) 2020-01-26T14:54:02Z Oladon joined #lisp 2020-01-26T14:55:49Z statusf90 joined #lisp 2020-01-26T15:01:07Z gioyik joined #lisp 2020-01-26T15:01:09Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-26T15:01:23Z xuxuru quit (Ping timeout: 240 seconds) 2020-01-26T15:15:05Z xuxuru joined #lisp 2020-01-26T15:15:09Z pnp joined #lisp 2020-01-26T15:16:55Z pnp left #lisp 2020-01-26T15:19:39Z Abe joined #lisp 2020-01-26T15:20:34Z cl-arthur joined #lisp 2020-01-26T15:31:58Z refpga joined #lisp 2020-01-26T15:37:39Z longshi joined #lisp 2020-01-26T15:40:23Z Abe quit (Ping timeout: 265 seconds) 2020-01-26T15:41:15Z refpga quit (Read error: Connection reset by peer) 2020-01-26T15:41:58Z refpga joined #lisp 2020-01-26T15:42:02Z gioyik quit (Ping timeout: 265 seconds) 2020-01-26T15:45:34Z gioyik joined #lisp 2020-01-26T15:46:07Z brown121408 joined #lisp 2020-01-26T15:46:35Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-26T15:47:55Z 07IADLP05 quit (Ping timeout: 268 seconds) 2020-01-26T15:52:23Z xuxuru quit (Quit: xuxuru) 2020-01-26T15:52:53Z harovali quit (Remote host closed the connection) 2020-01-26T15:53:07Z xuxuru joined #lisp 2020-01-26T15:53:38Z longshi quit (Ping timeout: 240 seconds) 2020-01-26T15:58:36Z emys joined #lisp 2020-01-26T16:00:33Z Arcaelyx joined #lisp 2020-01-26T16:00:34Z ebzzry quit (Read error: Connection reset by peer) 2020-01-26T16:02:15Z xuxuru quit (Quit: xuxuru) 2020-01-26T16:05:14Z gko_ quit (Ping timeout: 240 seconds) 2020-01-26T16:11:24Z epony quit (Remote host closed the connection) 2020-01-26T16:12:09Z ebrasca joined #lisp 2020-01-26T16:14:55Z brown121408 quit (Read error: Connection reset by peer) 2020-01-26T16:15:13Z galdor: is there a common pattern to name functions which generate the string representation of a value ? objects have PRINT-OBJECT, and there are lot of PRINC-*/PRIN1/* functions, but there does not seem to be anything for random types 2020-01-26T16:15:57Z brown121407 joined #lisp 2020-01-26T16:16:02Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-26T16:16:13Z galdor: for example, if one define a screen color as a (VECTOR (UNSIGNED-BYTE 8) 3), would it be sane to have PRINT-COLOR and PRINT-COLOR-TO-STRING ? 2020-01-26T16:16:26Z beach: galdor: PRINT-OBJECT has a method for all built-in objects. 2020-01-26T16:16:49Z beach: galdor: And it has default methods for instances of user-defined classes. 2020-01-26T16:17:09Z galdor: objects yes; what about non-object values ? 2020-01-26T16:17:20Z beach: There is no such thing. 2020-01-26T16:17:21Z galdor: for a color, I would not create a class when I just need a value and a type 2020-01-26T16:17:41Z beach: But, yes, PRINT-OBJECT is a generic function, so it can only specialize on classes. 2020-01-26T16:18:03Z galdor: so no commonly used naming scheme for this kind of usecase 2020-01-26T16:18:16Z galdor: then PRINT-* and PRINT-*-TO-STRING it is :) 2020-01-26T16:18:23Z tiwEllien joined #lisp 2020-01-26T16:18:30Z beach: Only one of them is really needed, but sure. 2020-01-26T16:18:42Z Oladon quit (Quit: Leaving.) 2020-01-26T16:19:20Z beach: I insist though, that there is no such thing as a non-object value. 2020-01-26T16:20:02Z brown121407 quit (Ping timeout: 240 seconds) 2020-01-26T16:20:28Z beach: From the glossary: OBJECT n. 1. any Lisp datum. 2020-01-26T16:20:46Z galdor: I was not precise indeed 2020-01-26T16:21:27Z galdor: any value is an object, but you cannot specialize methods on types, only on classes 2020-01-26T16:21:45Z galdor: so you can specialize on SIMPLE-VECTOR, but not on (SIMPLE-VECTOR 4) 2020-01-26T16:21:54Z beach: Exactly. 2020-01-26T16:22:35Z gabiruh_ is now known as gabiruh 2020-01-26T16:22:55Z emys quit (Ping timeout: 265 seconds) 2020-01-26T16:23:13Z brown121408 joined #lisp 2020-01-26T16:27:26Z emys joined #lisp 2020-01-26T16:27:33Z pjb: galdor: (prin1-to-string (coerce #(60 60 32) '(vector (unsigned-byte 8) 3))) #| --> "#(60 60 32)" |# seems to work good. 2020-01-26T16:28:25Z galdor: yes, but if I want my textual representation to be different, e.g. "#123456" for a color, I need my own function 2020-01-26T16:28:54Z pjb: galdor: (defstruct (color (:type vector) :named) (red 0 :type (unsigned-byte 8)) (green 0 :type (unsigned-byte 8)) (blue 0 :type (unsigned-byte 8))) (make-color :red 33 :green 66 :blue 88) #| --> #(color 33 66 88) |# 2020-01-26T16:29:09Z gnufr33d0m joined #lisp 2020-01-26T16:29:32Z pjb: galdor: yes, sorry the authors of CL couldn't guess you need for a color format such as #123456 fourty years in advance. Try a time machine! 2020-01-26T16:30:23Z galdor: I did not blame CL authors or complained about a lack of standard way, I was just asking about what developers do in general in that kind of situation, and how they usually name these functions 2020-01-26T16:30:51Z galdor: no everything is an attack against CL 2020-01-26T16:31:00Z pjb: galdor: you can indeed use functions to do it, but I prefer to define classes and to use methods. 2020-01-26T16:31:14Z pjb: galdor: so this way, I don't risk printing as colors a direction vector. 2020-01-26T16:32:11Z pjb: print-object is a hook for debugging printing. Don't use it to print user output or file formats… 2020-01-26T16:32:21Z pjb: Define your own generic function. 2020-01-26T16:32:35Z emys quit (Ping timeout: 265 seconds) 2020-01-26T16:34:19Z pjb: galdor: also, the advantage of using a class to represent colors, is that you can easily change the representation. Instead of RGB, you can also use YMCB or some other color representation. 2020-01-26T16:34:52Z galdor: I'm aware of that 2020-01-26T16:35:13Z brown121408 quit (Read error: Connection reset by peer) 2020-01-26T16:35:41Z galdor: of course you could also deftype cmyk-color, rgb-color, and finally deftype color as '(or ...) 2020-01-26T16:35:57Z brown121408 joined #lisp 2020-01-26T16:38:19Z adamantium joined #lisp 2020-01-26T16:39:22Z emys joined #lisp 2020-01-26T16:39:32Z Retropikzel joined #lisp 2020-01-26T16:40:58Z refpga quit (Read error: Connection reset by peer) 2020-01-26T16:41:39Z refpga joined #lisp 2020-01-26T16:43:28Z refpga quit (Read error: Connection reset by peer) 2020-01-26T16:43:28Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-26T16:43:48Z refpga joined #lisp 2020-01-26T16:49:20Z cl-arthur joined #lisp 2020-01-26T16:52:07Z emys quit (Ping timeout: 265 seconds) 2020-01-26T16:54:27Z kajo quit (Ping timeout: 272 seconds) 2020-01-26T16:55:40Z kajo joined #lisp 2020-01-26T16:56:11Z kslt1 quit (Ping timeout: 268 seconds) 2020-01-26T16:58:12Z nullniverse joined #lisp 2020-01-26T16:58:12Z nullniverse quit (Changing host) 2020-01-26T16:58:12Z nullniverse joined #lisp 2020-01-26T16:58:15Z nowhere_man quit (Ping timeout: 272 seconds) 2020-01-26T16:59:25Z emys joined #lisp 2020-01-26T16:59:55Z clothespin joined #lisp 2020-01-26T17:00:00Z jmercouris quit (Remote host closed the connection) 2020-01-26T17:00:01Z puchacz joined #lisp 2020-01-26T17:00:02Z refpga quit (Ping timeout: 240 seconds) 2020-01-26T17:00:27Z puchacz: hi, is it possible to change a configuration parameter so longer lists are printed without line breaks? 2020-01-26T17:00:40Z puchacz: I represent matrices as lists of lists 2020-01-26T17:00:51Z puchacz: and I would like a row of a matrix to be printed as a single row 2020-01-26T17:01:16Z asdf_asdf_asdf: puchacz. (setf *print-length* nil). 2020-01-26T17:01:34Z puchacz: thanks asdf_asdf_asdf 2020-01-26T17:02:55Z puchacz: asdf_asdf_asdf - it did not help, at least not in slime 2020-01-26T17:05:10Z asdf_asdf_asdf: http://www.lispworks.com/documentation/HyperSpec/Body/v_pr_lin.htm maybe 2020-01-26T17:05:42Z puchacz: it limits number of lines, so no 2020-01-26T17:07:06Z emys quit (Ping timeout: 265 seconds) 2020-01-26T17:09:09Z asdf_asdf_asdf: puchacz, You use format, whatever? 2020-01-26T17:09:37Z puchacz: asdf_asdf_asdf - no, I just wanted better shape of a matrix in slime, when it returns the result of the last evaluation 2020-01-26T17:11:07Z Bike: puchacz: what's the value of *print-pretty*? i think without print-pretty a list should all be on one line 2020-01-26T17:11:13Z Bike: well, it won't break up the rows of a matrix either though 2020-01-26T17:11:41Z puchacz: Bike - *print-pretty* is T 2020-01-26T17:11:53Z Bike: yeah, so try turning/binding that off 2020-01-26T17:12:22Z Bike: but then it probably won't insert any line breaks at all 2020-01-26T17:12:26Z cosimone quit (Read error: Connection reset by peer) 2020-01-26T17:12:36Z puchacz: Bike - then it does not insert linebreaks between matrix' rows :) 2020-01-26T17:12:56Z Bike: yeah, so... there's not really a configuration option to print matrices specifically like this 2020-01-26T17:13:21Z puchacz: okay, I can live with it... pity though 2020-01-26T17:14:45Z puchacz: and thanks! 2020-01-26T17:15:21Z Bike: of course you can force it yourself, like (format t "(~a~^~% ~})" matrix) 2020-01-26T17:15:57Z emys joined #lisp 2020-01-26T17:16:49Z asdf_asdf_asdf: http://www.lispworks.com/documentation/HyperSpec/Body/f_pr_obj.htm 2020-01-26T17:20:41Z puchacz: Bike, that's what I started doing 2020-01-26T17:21:10Z adamantium quit (Remote host closed the connection) 2020-01-26T17:22:03Z puchacz: asdf_asdf_asdf - not sure what I can do with print-object, if a matrix was my own type, I could specialise of course, but it is just a cons now 2020-01-26T17:23:52Z adamantium joined #lisp 2020-01-26T17:24:05Z pjb: (defclass my-own-matrix () ((slots)) (defgeneric mref (matrix i j)) (defmethod mref ((m my-own-matrix) i j) …) 2020-01-26T17:25:00Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-26T17:25:28Z puchacz: pjb - so just wrap my '((1 2 3) (4 5 6)) etc. in a CLOS object? 2020-01-26T17:25:40Z pjb: Exactly. 2020-01-26T17:26:15Z puchacz: or use #2A as everybody else seems to do :) 2020-01-26T17:26:23Z pjb: Not necessarily. 2020-01-26T17:26:25Z puchacz: they print nicely 2020-01-26T17:26:31Z pjb: Not always. 2020-01-26T17:26:34Z puchacz: ah 2020-01-26T17:26:40Z puchacz: btw, has anybody worked with numcl ? 2020-01-26T17:27:12Z gnufr33d0m_ joined #lisp 2020-01-26T17:28:28Z emys quit (Ping timeout: 260 seconds) 2020-01-26T17:28:32Z cosimone joined #lisp 2020-01-26T17:29:21Z cosimone quit (Client Quit) 2020-01-26T17:29:23Z adamantium quit (Remote host closed the connection) 2020-01-26T17:29:40Z puchacz: okay, going to wrap them in a CLOS object for my program, regardless of what underlying library I am using - numcl uses #2A for instance, my own unoptimised toy thing uses list of lists 2020-01-26T17:31:19Z pjb: For example, you may want to print A * B = C as: https://termbin.com/axmoe 2020-01-26T17:31:49Z emys joined #lisp 2020-01-26T17:32:33Z puchacz: pjb, wow, thanks :) 2020-01-26T17:34:59Z froggey quit (Ping timeout: 272 seconds) 2020-01-26T17:36:31Z froggey joined #lisp 2020-01-26T17:39:26Z statusf90 quit (Quit: statusf90) 2020-01-26T17:40:11Z statusf90 joined #lisp 2020-01-26T17:40:20Z emys quit (Ping timeout: 248 seconds) 2020-01-26T17:48:10Z emys joined #lisp 2020-01-26T17:49:05Z cosimone joined #lisp 2020-01-26T17:58:23Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-26T17:58:32Z scymtym quit (Ping timeout: 260 seconds) 2020-01-26T18:04:02Z Khisanth quit (Ping timeout: 240 seconds) 2020-01-26T18:04:22Z adamantium joined #lisp 2020-01-26T18:05:26Z emys quit (Ping timeout: 268 seconds) 2020-01-26T18:05:44Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-26T18:08:24Z scymtym joined #lisp 2020-01-26T18:08:58Z random-nick quit (Ping timeout: 265 seconds) 2020-01-26T18:11:51Z emys joined #lisp 2020-01-26T18:15:44Z oni-on-ion quit (Ping timeout: 252 seconds) 2020-01-26T18:17:26Z Khisanth joined #lisp 2020-01-26T18:17:58Z oni-on-ion joined #lisp 2020-01-26T18:20:35Z emys quit (Ping timeout: 246 seconds) 2020-01-26T18:20:52Z emys joined #lisp 2020-01-26T18:21:50Z adamantium quit (Remote host closed the connection) 2020-01-26T18:23:26Z refpga joined #lisp 2020-01-26T18:25:03Z shifty quit (Ping timeout: 260 seconds) 2020-01-26T18:29:38Z Arcaelyx quit (Ping timeout: 240 seconds) 2020-01-26T18:35:53Z borodust quit (Quit: Leavin') 2020-01-26T18:36:12Z adamantium joined #lisp 2020-01-26T18:37:44Z clothespin quit (Ping timeout: 252 seconds) 2020-01-26T18:42:40Z EvW joined #lisp 2020-01-26T18:43:43Z Arcaelyx joined #lisp 2020-01-26T18:46:08Z hhdave joined #lisp 2020-01-26T18:55:33Z cornett left #lisp 2020-01-26T18:56:14Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-26T18:58:24Z bitmapper joined #lisp 2020-01-26T19:05:08Z emys quit (Ping timeout: 248 seconds) 2020-01-26T19:07:55Z karlosz joined #lisp 2020-01-26T19:09:12Z emys joined #lisp 2020-01-26T19:12:43Z Jeanne-Kamikaze joined #lisp 2020-01-26T19:17:17Z emys quit (Ping timeout: 260 seconds) 2020-01-26T19:17:28Z gnufr33d0m_ quit (Quit: gnufr33d0m_) 2020-01-26T19:20:54Z borodust joined #lisp 2020-01-26T19:20:54Z narimiran joined #lisp 2020-01-26T19:23:59Z adamantium quit (Remote host closed the connection) 2020-01-26T19:24:25Z bitmapper quit (Remote host closed the connection) 2020-01-26T19:24:28Z emys joined #lisp 2020-01-26T19:25:00Z Nilby joined #lisp 2020-01-26T19:27:23Z EvW quit (Ping timeout: 245 seconds) 2020-01-26T19:29:46Z APic quit (Quit: Reconnecting) 2020-01-26T19:29:51Z hhdave quit (Quit: hhdave) 2020-01-26T19:29:51Z space_otter joined #lisp 2020-01-26T19:29:55Z APic joined #lisp 2020-01-26T19:30:01Z asdf_asdf_asdf joined #lisp 2020-01-26T19:30:45Z bitmapper joined #lisp 2020-01-26T19:31:09Z nullman quit (Ping timeout: 268 seconds) 2020-01-26T19:32:16Z nullman joined #lisp 2020-01-26T19:32:42Z emys quit (Ping timeout: 246 seconds) 2020-01-26T19:33:07Z Bad_K4rMa joined #lisp 2020-01-26T19:34:37Z Bad_K4rMa: can someone help me with getting lisp-critic to work 2020-01-26T19:35:59Z Bad_K4rMa: http://paste.awesom.eu/Too5 2020-01-26T19:43:18Z cosimone quit (Quit: Quit.) 2020-01-26T19:46:51Z vlatkoB quit (Remote host closed the connection) 2020-01-26T19:47:17Z galdor: functions are available from a package 2020-01-26T19:47:32Z galdor: (and btw you are suppose to load "lisp-critic", not :lisp-critic, but it's a detail) 2020-01-26T19:47:46Z karlosz quit (Quit: karlosz) 2020-01-26T19:48:31Z vlatkoB joined #lisp 2020-01-26T19:48:59Z Bad_K4rMa: is there something im doing wrong? 2020-01-26T19:50:19Z galdor: I'm pretty sure you are in the CL-USER package, while the CRITIQUE function is exported from a different package, provided by the system you just loaded 2020-01-26T19:50:52Z galdor: I would suggest going back to something such as http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html 2020-01-26T19:51:02Z galdor: to get a better understanding of what is happening 2020-01-26T19:52:57Z EvW1 joined #lisp 2020-01-26T19:53:16Z vlatkoB quit (Client Quit) 2020-01-26T19:54:35Z sjl joined #lisp 2020-01-26T19:59:23Z ggole quit (Quit: Leaving) 2020-01-26T20:00:06Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-26T20:07:06Z karlosz joined #lisp 2020-01-26T20:07:10Z emys joined #lisp 2020-01-26T20:12:13Z z147 quit (Quit: z147) 2020-01-26T20:12:35Z z147 joined #lisp 2020-01-26T20:15:22Z emys quit (Ping timeout: 268 seconds) 2020-01-26T20:18:54Z emys joined #lisp 2020-01-26T20:23:37Z emys quit (Ping timeout: 265 seconds) 2020-01-26T20:24:52Z cl-arthur quit (Remote host closed the connection) 2020-01-26T20:26:17Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-01-26T20:27:02Z oni-on-ion quit (Remote host closed the connection) 2020-01-26T20:27:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-26T20:29:42Z puchacz quit (Quit: Connection closed for inactivity) 2020-01-26T20:40:23Z tcr quit (Remote host closed the connection) 2020-01-26T20:40:29Z cosimone joined #lisp 2020-01-26T20:40:30Z Codaraxis joined #lisp 2020-01-26T20:44:31Z cosimone_ joined #lisp 2020-01-26T20:45:01Z cosimone quit (Client Quit) 2020-01-26T20:45:39Z cosimone joined #lisp 2020-01-26T20:46:38Z nika quit 2020-01-26T20:48:14Z torbo joined #lisp 2020-01-26T20:48:50Z gravicappa quit (Ping timeout: 240 seconds) 2020-01-26T20:49:17Z cosimone_ quit (Ping timeout: 268 seconds) 2020-01-26T20:49:36Z cosimone quit (Read error: Connection reset by peer) 2020-01-26T20:49:51Z cosimone joined #lisp 2020-01-26T20:52:56Z z147 quit (Remote host closed the connection) 2020-01-26T20:53:23Z z147 joined #lisp 2020-01-26T20:57:19Z random-nick joined #lisp 2020-01-26T20:58:00Z asdf_asdf_asdf58 joined #lisp 2020-01-26T20:59:38Z asdf_asdf_asdf quit (Ping timeout: 260 seconds) 2020-01-26T20:59:47Z asdf_asdf_asdf58 is now known as asdf_asdf_asdf 2020-01-26T21:01:03Z bitmapper quit 2020-01-26T21:02:25Z narimiran quit (Ping timeout: 268 seconds) 2020-01-26T21:03:03Z lurker joined #lisp 2020-01-26T21:05:44Z lurker quit (Remote host closed the connection) 2020-01-26T21:11:22Z orivej joined #lisp 2020-01-26T21:12:56Z dmiles quit 2020-01-26T21:14:48Z ebrasca quit (Remote host closed the connection) 2020-01-26T21:17:53Z emacsomancer quit (Quit: WeeChat 2.6) 2020-01-26T21:21:35Z william1 joined #lisp 2020-01-26T21:21:37Z william1 quit (Client Quit) 2020-01-26T21:22:00Z cookie-monster joined #lisp 2020-01-26T21:23:49Z krid quit (Ping timeout: 268 seconds) 2020-01-26T21:26:16Z william1 joined #lisp 2020-01-26T21:26:37Z krid joined #lisp 2020-01-26T21:29:47Z william1 quit (Client Quit) 2020-01-26T21:30:02Z william1 joined #lisp 2020-01-26T21:30:32Z william1 quit (Client Quit) 2020-01-26T21:30:47Z william1 joined #lisp 2020-01-26T21:35:11Z Oladon joined #lisp 2020-01-26T21:37:51Z dmiles joined #lisp 2020-01-26T21:37:51Z ebrasca joined #lisp 2020-01-26T21:41:57Z cosimone quit (Remote host closed the connection) 2020-01-26T21:42:31Z cosimone joined #lisp 2020-01-26T21:44:18Z _death: pjb: you can do even better with texfrag mode: https://i.imgur.com/kb76sMk.png 2020-01-26T21:53:31Z emacsomancer joined #lisp 2020-01-26T21:58:33Z shka_ quit (Ping timeout: 265 seconds) 2020-01-26T22:01:43Z Nilby: Interesting. I see texfrag mode in emacs, but where is tex-print from? 2020-01-26T22:02:08Z _death: I just wrote it.. a few lines to demonstrate 2020-01-26T22:02:17Z Nilby: Nice. 2020-01-26T22:05:07Z william1 quit (Ping timeout: 265 seconds) 2020-01-26T22:11:14Z oni-on-ion joined #lisp 2020-01-26T22:11:45Z EvW1 quit (Ping timeout: 272 seconds) 2020-01-26T22:12:21Z chocimir joined #lisp 2020-01-26T22:18:03Z patrixl joined #lisp 2020-01-26T22:29:01Z EvW joined #lisp 2020-01-26T22:47:15Z cookie-monster quit (Ping timeout: 268 seconds) 2020-01-26T22:52:32Z patrixl quit (Remote host closed the connection) 2020-01-26T22:54:11Z aeth quit (Ping timeout: 272 seconds) 2020-01-26T22:55:43Z aeth joined #lisp 2020-01-26T22:56:07Z karlosz quit (Quit: karlosz) 2020-01-26T22:56:31Z Bad_K4rMa joined #lisp 2020-01-26T23:00:39Z karlosz joined #lisp 2020-01-26T23:09:58Z anti_oop joined #lisp 2020-01-26T23:10:03Z anti_oop: hi 2020-01-26T23:10:17Z aeth: hi 2020-01-26T23:10:30Z aeth: anti_oop: I assume your name means you are anti-OOP? 2020-01-26T23:10:31Z anti_oop: I'm searching for a language with it's just totaly impossible to do OOP 2020-01-26T23:10:41Z aeth: That's not this one. 2020-01-26T23:11:03Z aeth: You can avoid OOP entirely, but there is an OOP system (actually, kind of 2-3) 2020-01-26T23:12:38Z v88m quit (Ping timeout: 260 seconds) 2020-01-26T23:12:58Z orivej quit (Ping timeout: 268 seconds) 2020-01-26T23:12:59Z anti_oop: what a crap 2020-01-26T23:13:03Z aeth: anti_oop: So the original Common Lisp didn't have an object-oriented programming system 2020-01-26T23:13:13Z aeth: But the 1994 (iirc) standard does have the Common Lisp Object System (CLOS) 2020-01-26T23:13:24Z aeth: But because it was added a decade later, you can largely avoid it if you want. 2020-01-26T23:14:20Z aeth: There's still sort of an OOP system in structs (which you can simply just avoid if you just don't use inheritance with them), which are older and more efficient. The exception system (called "conditions") is also essentially OOP, but I'm sure plenty of programmers are used to avoiding the use of exceptions. 2020-01-26T23:14:50Z aeth: There are some Lisps that aren't OOP at all, but this is a Common Lisp channel, so you can try ##lisp or #scheme for others. Schemes tend to add their own OOP system even though there isn't a standard one, though. 2020-01-26T23:15:29Z aeth: (The original standard CL was circa 1984, which was a de facto standard based on a book. That's why I said "a decade later".) 2020-01-26T23:16:26Z aeth: anti_oop: The Common Lisp OOP system is very different from most, though. It uses multiple dispatch and its methods are syntactically indistinguishable from functions. There's no foo.bar(baz), it's (bar foo baz) 2020-01-26T23:17:39Z nullniverse quit (Quit: Leaving) 2020-01-26T23:18:48Z aeth: anti_oop: "just totally impossible to do OOP" is very un-Lispy, though. The whole Lisp way is to let you write whatever paradigm you want to write in, whether built-in or using macros. Common Lisp has several kinds of macros, including syntactic macros (via defmacro) and C-style "reader macros" (character-based, modifying the reader, i.e. parser). So even if OOP wasn't included, anyone could add it. 2020-01-26T23:19:01Z aeth: And similarly, anyone can avoid it because there are lots of alternative ways to do things. 2020-01-26T23:19:53Z p_l: arguably, LISP was OOP since 1.0, just not the Simula-derived OOP that most people recognize from C++ or Java (where it got merged with bits of Smalltalk through Objective-C) 2020-01-26T23:20:16Z no-defun-allowed: anti_oop: Can you just not perform OOP in a language (given it's not Java and it's not shoved down your throat)? 2020-01-26T23:20:45Z aeth: no-defun-allowed: heh, challenge accepted, I'm going to write non-OOP in Java (via static classes or something like that?) :-p 2020-01-26T23:21:44Z anti_oop: the problem is that It looks like a hack. 2020-01-26T23:22:12Z anti_oop: even in JavaScript for basic, you will be forced to invoke some methods 2020-01-26T23:23:00Z anti_oop: you will use a library, but everythink is design to work in a OOP context 2020-01-26T23:23:01Z aeth: anti_oop: That's not the case for Common Lisp because the language was essentially finalized before the addition of CLOS. 2020-01-26T23:23:29Z Arcaelyx quit (Quit: Arcaelyx) 2020-01-26T23:24:05Z aeth: Nothing built in is necessarily going to rely on CLOS except for CLOSsy stuff and maybe the exception system (in SBCL it doesn't because it is used before CLOS is implemented in the internals, but in most implementations it is based on CLOS) 2020-01-26T23:24:18Z Nilby: I think there is no laguage where it's totally impossible to do OOP. For example C and GTK. 2020-01-26T23:26:10Z aeth: anti_oop: In CL, you're not going to see the difference between a method and a function. It has unified syntax. There's no foo.bar(baz) or, I guess, (dot foo bar baz) in Lispy syntax. Instead, it's (bar foo baz) which would be like bar(foo, baz) in "normal" synax. 2020-01-26T23:27:06Z aeth: So there's no difference from your perspective if it's a method or a function, except that a method will dispatch on the class of the arguments. But even that could be equivalently done with a typecase in a DEFUN, just not extensibly. 2020-01-26T23:28:10Z p_l: pretty sure I/O system uses CLOS, at least partially 2020-01-26T23:28:13Z aeth: But even still, the built-ins are generally not methods. Even generic stuff like + or map are using some implementation-internal system, rather than CLOS. 2020-01-26T23:28:14Z p_l: (in SBCL) 2020-01-26T23:28:42Z aeth: p_l: Well, streams can be extended through a very CLOSsy sytem known as gray-streams, portably using trivial-gray-streams. 2020-01-26T23:29:00Z aeth: But from the external perspective, if there's no gray-streams being used, it's not very CLOSsy. 2020-01-26T23:30:00Z aeth: Where you're going to see a lot of CLOS at work afaik is the Meta-Object Protocol, which you'll naturally avoid if you're not using CLOS in the first place. (Or in the internals of ASDF...) 2020-01-26T23:31:21Z varjag quit (Ping timeout: 265 seconds) 2020-01-26T23:32:42Z Nilby thinks CL was specified with concern to appease people who hated OOP. 2020-01-26T23:32:48Z aeth: To some extent, you're probably going to be "using CLOS" in some places through implementation internals, and through ASDF (the package system), but you're not really going to see it. 2020-01-26T23:33:15Z aeth: Nilby: CL is... meant to be extremely multi-paradigm. Imo, it's designed to appease people who don't want to be forced into thinking a certain way. 2020-01-26T23:33:42Z Nilby agrees. 2020-01-26T23:34:26Z tiwEllien quit (Ping timeout: 240 seconds) 2020-01-26T23:35:35Z p_l: Nilby: also, old Lisp code (especially LISP code) was very OOP in ways that predate Class-oriented programming of today 2020-01-26T23:35:49Z aeth: Imo, most languages have some gimmick that is meant to shape your thinking. For Scheme, it's tail recursion (and call/cc to a lesser extent). For Java, it's its form of rigid, static OOP. For Rust, it's the borrow checker. For Perl, it's regex over lines. Etc. 2020-01-26T23:36:24Z p_l: the "so ancient it's forgotten" OOP in Lisp was based around symbols and their plists 2020-01-26T23:36:33Z aeth: But I can't really think of something for CL. Maybe macros? Maybe LOOP-oriented programming? 2020-01-26T23:37:24Z Nilby: p_l: Yes. I've seen that style. Also old Lisp code looking Haskell-ish. But I've also seem assembler using OOP. 2020-01-26T23:37:50Z p_l: Nilby: yep. But there's a lot more to OO than what's being sold as OOP 2020-01-26T23:38:09Z p_l: the oldest OO system I know of was Sketchpad 2020-01-26T23:38:34Z p_l: (explicitly cited by Alan Kay in his talks on origins of Smalltalk) 2020-01-26T23:38:50Z MetaYan quit (Ping timeout: 256 seconds) 2020-01-26T23:40:36Z cosimone quit (Remote host closed the connection) 2020-01-26T23:41:05Z cosimone joined #lisp 2020-01-26T23:43:52Z Nilby: I wish someone would make an interative online software history museum so I could run Sketchpad right now. 2020-01-26T23:44:34Z aeth: archive.org has a lot of old software in JS (or WASM) emulators in the browser... to the point where it basically is "an interactive online software history museum", not just a place where you can find old versions of a website 2020-01-26T23:44:56Z aeth: Nilby: https://archive.org/details/software 2020-01-26T23:47:22Z aeth: Maybe the most underrated place on the internet. If people donate money, donate to archive.org. Wikipedia has plenty of money and most of the money doesn't go to running the site, anyway. Wikipedia is just really noisy with its begging to make it seem desperate when it's not. 2020-01-26T23:47:27Z p_l: aeth: AFAIK nobody got sketchpad running, and NLS might be hard to get running too 2020-01-26T23:47:39Z Nilby: aeth: Thanks. I've already wasted too much time playing there. archive.org is awesome. Maybe one day it will have Sketchpad. 2020-01-26T23:47:46Z aeth: p_l: Well, that's unfortunate. If you can get it running, though, I'm sure archive.org would be interested in emulating it 2020-01-26T23:53:54Z p_l: aeth: Sketchpad as well as I think the original setup for "mother of all demos" involved a lot of custom hw and I am not sure how much software survived 2020-01-26T23:54:05Z p_l: NLS was in operation at SRI for years and they might have a backup tape for it 2020-01-26T23:55:16Z aeth: I think the problem with "OOP" is that there are many definitions, and any good definition is still just "it satisfies m of n characteristics on this list, 0 < m <= n" 2020-01-26T23:55:22Z aeth: anti_oop: What's your definition of OOP? 2020-01-26T23:55:32Z varjag joined #lisp 2020-01-26T23:56:04Z _death: minion: what does OOP stand for 2020-01-26T23:56:05Z minion: Osoberry Overregularly Pneumatomorphic 2020-01-26T23:56:12Z aeth: By some definitions, CL isn't OOP, but of course those aren't going to be popular definitions here. In particular, CL doesn't really have "true" (language-enforced) encapsulation except inside lexical closures. 2020-01-27T00:04:29Z cosimone quit (Ping timeout: 272 seconds) 2020-01-27T00:07:23Z v88m joined #lisp 2020-01-27T00:09:40Z jebes joined #lisp 2020-01-27T00:10:35Z asarch joined #lisp 2020-01-27T00:14:23Z Ven`` joined #lisp 2020-01-27T00:14:28Z White_Flame: anti_oop: a language wherein it's impossible to do OOP would likely not be turning complete. I built OOP on top of BASIC string encodings once. 2020-01-27T00:14:28Z gioyik quit (Ping timeout: 260 seconds) 2020-01-27T00:15:29Z _death: where's object oriented brainfuck 2020-01-27T00:15:31Z MetaYan joined #lisp 2020-01-27T00:15:45Z White_Flame: (also s/turning/turing/ :-P) 2020-01-27T00:15:48Z aeth: _death: Brainfuck is so easy to implement that it's probably one of the most extended languages out there 2020-01-27T00:16:01Z aeth: usually extended in the implementation and not within Brainfuck, though 2020-01-27T00:16:12Z _death: https://esolangs.org/wiki/Object-Oriented_Brainfuck 2020-01-27T00:16:12Z asarch: OOP in Assembly! \o/ 2020-01-27T00:17:30Z Ven`` quit (Client Quit) 2020-01-27T00:17:54Z aeth: _death: That's obviously not the only OOP BF, either 2020-01-27T00:18:20Z _death: so there is one? 2020-01-27T00:19:08Z aeth: probably 2020-01-27T00:19:14Z varjag quit (Ping timeout: 240 seconds) 2020-01-27T00:19:29Z Jesin quit (Quit: Leaving) 2020-01-27T00:19:43Z chocimir quit (Ping timeout: 260 seconds) 2020-01-27T00:19:44Z aeth: If you've ever written a brainfuck you get bored once you're done and you either start optimizing it a ton or adding a bunch of extensions because there are plenty of characters left (but those do make comments harder to write). 2020-01-27T00:20:16Z _death: I once had a good use for brainfuck 2020-01-27T00:20:58Z aeth: It's mainly used to prove turing completeness 2020-01-27T00:21:22Z aeth: In this case, implementing OOP on top of Brainfuck in Brainfuck would be used to support White_Flame's claim about OOP 2020-01-27T00:21:39Z pjb: anti_oop: you will have a hard time finding a language that is not OO, given that closures are equivalent to objects. You must eliminiate all languages that have closures too… 2020-01-27T00:21:56Z _death: back then I was writing keygens, so I could interpret brainfuck code that implements the algorithm, and it would serve as a watermark against people ripping code 2020-01-27T00:22:06Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-27T00:22:49Z pjb: anti_oop: what about languages such as C, where you can do struct foo { void (*moo)(struct foo* self); int x } o ={&foo_moo,42}; o->moo(o); ? This is OOP in my book. 2020-01-27T00:23:41Z pjb: anti_oop: even in assembler, you can do OOP! 2020-01-27T00:24:15Z Nilby: My friend wrote an "Audible Objectible INTERCAL", an OOP INTERCAL with auido input and output. 2020-01-27T00:32:07Z _death: did it play Duran Duran 2020-01-27T00:37:13Z Nilby: No, but Barbarella would be a good name for the Lisp in pure lambda calculus I briefly considered writing in AO-INTERCAL. :-P 2020-01-27T00:37:45Z emphazizer joined #lisp 2020-01-27T00:40:57Z Josh_2 quit (Remote host closed the connection) 2020-01-27T00:42:09Z _death: fantastic voyage into the guts of lambda calculus 2020-01-27T00:43:09Z Danishman joined #lisp 2020-01-27T00:43:28Z Jesin joined #lisp 2020-01-27T00:45:32Z gioyik joined #lisp 2020-01-27T00:48:11Z turona quit (Ping timeout: 272 seconds) 2020-01-27T00:49:15Z turona joined #lisp 2020-01-27T00:51:13Z gioyik quit (Ping timeout: 260 seconds) 2020-01-27T00:51:24Z ebrasca quit (Remote host closed the connection) 2020-01-27T00:52:46Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-27T00:58:57Z igemnace joined #lisp 2020-01-27T01:00:05Z Bad_K4rMa joined #lisp 2020-01-27T01:00:52Z Oladon quit (Quit: Leaving.) 2020-01-27T01:03:11Z random-nick quit (Ping timeout: 265 seconds) 2020-01-27T01:11:34Z shifty joined #lisp 2020-01-27T01:17:27Z bitmapper joined #lisp 2020-01-27T01:17:44Z chocimir joined #lisp 2020-01-27T01:18:18Z emphazizer quit (Quit: Leaving) 2020-01-27T01:20:09Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-27T01:20:33Z z147 quit (Remote host closed the connection) 2020-01-27T01:20:46Z z147 joined #lisp 2020-01-27T01:22:37Z gioyik joined #lisp 2020-01-27T01:26:52Z v88m quit (Ping timeout: 265 seconds) 2020-01-27T01:28:19Z gioyik quit (Ping timeout: 265 seconds) 2020-01-27T01:28:40Z orivej joined #lisp 2020-01-27T01:34:36Z refpga quit (Read error: Connection reset by peer) 2020-01-27T01:39:40Z Danishman quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-01-27T01:43:50Z aeth: pjb: I agree that "impossible to write OOP" is an impossible standard, but there are some languages where OOP is not expected (though possible!) and others where it is the norm. 2020-01-27T01:44:32Z aeth: White_Flame: As far as Turing complete goes, that's not necessarily the case. On further thought, the whole Turing completeness thing afaik includes "write an interpreter for another language" so, yes, you could write an interpreter for an OOP-utilizing language in any language, but maybe there's some where it's impossible in the base language. 2020-01-27T01:44:41Z aeth: Obviously C and ASM give you too much power, as does CL even if CL had no CLOS. 2020-01-27T01:47:03Z pjb: You can design languages that are NOT Turing Complete. 2020-01-27T01:47:11Z pjb: It's difficult, but possible. 2020-01-27T01:47:29Z pjb: Make them useful in addition, is very difficult, but still possible. 2020-01-27T01:47:41Z pjb: At least, useful to some users… 2020-01-27T01:47:56Z aeth: pjb: Yeah, but my point is there could in theory be a Turing complete language where it is impossible to write OOP without writing an interpreter or compiler for another language. Not in a Lisp, though, since you could just use macros, reader macros, etc., to integrate quite well no matter what. 2020-01-27T01:48:30Z asdf_asdf_asdf joined #lisp 2020-01-27T01:48:42Z aeth: pjb: Lots of languages add restrictions that low-level write-an-OS-in-it languages like C or ASM or even CL don't have. 2020-01-27T01:50:26Z statusf90 quit (Quit: statusf90) 2020-01-27T01:50:40Z aeth: pjb: Although I guess you could argue that you could get OOP, it would just syntactically be ugly and out of place without something like real macros on top of s-expressions. 2020-01-27T01:50:56Z dlowe: I made a deliberately non-turing complete language as a MUD scripting language so it would be guaranteed to complete 2020-01-27T01:51:25Z dlowe: it wasn't hard, I just disallowed branching to earlier points 2020-01-27T01:52:07Z aeth: What's it take to make it turing incomplete? Could you just take a CL subset where e.g. LOOP always terminates after a finite number of times? 2020-01-27T01:52:36Z dlowe: Yeah, I don't know what pieces you'd have to remove from an existing language 2020-01-27T01:52:47Z EvW quit (Ping timeout: 260 seconds) 2020-01-27T01:53:17Z pjb: Well, you could just do nothing, relying on the finitude of our computers and universe… 2020-01-27T01:53:41Z dlowe: it also wasn't general purpose and I could add things that looped as single commands 2020-01-27T01:53:42Z pjb: (loop) will finishi in 1e15 years… 2020-01-27T01:53:44Z aeth: dlowe: I can start to get a feeling for what would have to be removed. e.g. TAGBODY and any form with an implicit tagbody (e.g. PROGN) is out although DO could just remove that feature and still be mostly the same. LOOP, etc., would need to have to have a finite run. Recursion would either have to be impossible or restricted. 2020-01-27T01:54:07Z dlowe: if you can implement the y-combinator, you've already lost 2020-01-27T01:54:07Z pjb: Probably much earlier, like 4e9 years, when the Sun goes nova. 2020-01-27T01:54:25Z Nilby: Wouldn't you have to remove function calls? 2020-01-27T01:54:36Z _death: here's an old hack.. https://gist.github.com/death/ae7d5d10a46726474c1efe54b03a3a8b 2020-01-27T01:54:56Z pjb: Nilby: not if you don't guarantee that you can call a function. Eg. the C standard doesn't guarantee it, so C is not Turing Complete. 2020-01-27T01:54:59Z aeth: pjb: Theoretically, we assume that (loop) will be run on a redundant architecture that will never have to shut down, can be upgraded without shutting down the computation, can have the Lisp implementation be upgraded without restarting it, etc., to the point where even entropy itself will be reversed just to keep it running. Obviously impossible in practice. :-p 2020-01-27T01:55:10Z ebzzry joined #lisp 2020-01-27T01:55:35Z Josh_2 joined #lisp 2020-01-27T01:56:30Z aeth: pjb: We also assume that any limits (e.g. the maximum array size) will be upgraded in-place before the computation hits it, as well as the memory itself expanded when needed. 2020-01-27T01:57:08Z aeth: Just because the CL program can't run ideally in practice doesn't mean that the ideal running is impossible... 2020-01-27T01:57:44Z _death: updated with some bloop user code 2020-01-27T01:58:02Z aeth: There's a distinction between "(loop)" in theory and "(loop)" running on SBCL 2.0.0 on Fedora 31 on a Ryzen 9 3900X etc. 2020-01-27T01:59:29Z aeth: Btw, we need a parallel version of LOOP so that (ploop) can run on all 24 hardware threads simultaneously in an infinite loop... 2020-01-27T02:01:11Z _death: aeth: I used ackermann function for that 2020-01-27T02:01:20Z ralt quit (Quit: Connection closed for inactivity) 2020-01-27T02:01:57Z _death: aeth: "practically infinite time" 2020-01-27T02:03:46Z edgar-rft: aeth: I'm curious how your parallel version of OOP would be called 2020-01-27T02:04:24Z aeth: edgar-rft: obviously PACOOP for Parallel and Concurrent OOP 2020-01-27T02:04:43Z bitmapper quit (Ping timeout: 260 seconds) 2020-01-27T02:06:02Z whiteline quit (Read error: Connection reset by peer) 2020-01-27T02:06:30Z whiteline joined #lisp 2020-01-27T02:10:53Z Oladon joined #lisp 2020-01-27T02:11:37Z gioyik joined #lisp 2020-01-27T02:25:22Z orivej quit (Ping timeout: 268 seconds) 2020-01-27T02:26:59Z v88m joined #lisp 2020-01-27T02:28:40Z asarch quit (Quit: Leaving) 2020-01-27T02:31:33Z v88m quit (Ping timeout: 260 seconds) 2020-01-27T02:36:48Z davepdotorg joined #lisp 2020-01-27T02:40:26Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-27T02:40:37Z cg505 quit (Ping timeout: 260 seconds) 2020-01-27T02:41:20Z cg505 joined #lisp 2020-01-27T02:41:35Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-27T02:44:35Z igemnace quit (Quit: WeeChat 2.7) 2020-01-27T02:54:31Z orivej joined #lisp 2020-01-27T03:01:02Z anti_oop quit (Remote host closed the connection) 2020-01-27T03:23:50Z gioyik quit (Ping timeout: 265 seconds) 2020-01-27T03:26:21Z efm quit (Remote host closed the connection) 2020-01-27T03:26:43Z efm joined #lisp 2020-01-27T03:38:45Z Bad_K4rMa quit (Remote host closed the connection) 2020-01-27T03:49:06Z adamantium joined #lisp 2020-01-27T03:52:23Z z147 quit (Ping timeout: 240 seconds) 2020-01-27T03:52:47Z v88m joined #lisp 2020-01-27T03:53:47Z dale joined #lisp 2020-01-27T03:57:15Z madrik quit (Ping timeout: 268 seconds) 2020-01-27T04:00:25Z gioyik joined #lisp 2020-01-27T04:03:54Z igemnace joined #lisp 2020-01-27T04:22:26Z chocimir quit (Ping timeout: 240 seconds) 2020-01-27T04:22:28Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-27T04:23:54Z chocimir joined #lisp 2020-01-27T04:28:27Z beach: Good morning everyone! 2020-01-27T04:29:24Z drmeister: Hi beach. 2020-01-27T04:29:43Z drmeister: I got Clasp working with the Memory Pool System garbage collector! 2020-01-27T04:29:48Z drmeister: It only took six years. 2020-01-27T04:30:04Z pjb: Well done! 2020-01-27T04:30:11Z drmeister: Moving garbage collectors and hash-tables are complicated. 2020-01-27T04:30:17Z no-defun-allowed: Congratulations! 2020-01-27T04:30:27Z chocimir quit (Read error: Connection reset by peer) 2020-01-27T04:30:29Z drmeister: Oh and thread safe hash-tables with a moving garbage collector. 2020-01-27T04:30:38Z drmeister: Thank you all. 2020-01-27T04:30:39Z no-defun-allowed: Indeed. 2020-01-27T04:31:01Z drmeister: My perception of hash-tables has changed completely. 2020-01-27T04:31:25Z drmeister: They aren't these precise data structures where every key/value pair is in a precise place. 2020-01-27T04:31:35Z no-defun-allowed: Yep. 2020-01-27T04:32:28Z drmeister: They are these loosy-goosy bags of key/value pairs that sometimes let you lookup the key faster - but they have to be rehashed whenever their keys go stale. 2020-01-27T04:34:18Z no-defun-allowed: Not long ago, I wrote a program that would pick keys that hashed to the same bucket in Clozure, making hash tables only about as fast as alists. 2020-01-27T04:35:24Z no-defun-allowed: Analysing how that and SBCL implemented hash tables led me to the same conclusion. 2020-01-27T04:35:45Z drmeister: I'd like to learn more about how SBCL implements hash tables. 2020-01-27T04:36:05Z drmeister: I'll follow your advice and check out src/code/hash-table.lisp 2020-01-27T04:36:14Z drmeister: Right now I'm reading legal documents - ugh. 2020-01-27T04:36:33Z no-defun-allowed: That file has nice ASCII diagrams of the vectors' contents, too. 2020-01-27T04:36:39Z drmeister: Red wine helps quiet the voices in my head enough to read - but doesn't help with comprehension. 2020-01-27T04:36:53Z drmeister: Oh - neat. I like pictures. 2020-01-27T04:37:24Z davepdotorg joined #lisp 2020-01-27T04:37:33Z no-defun-allowed: You can't be having too much fun. 2020-01-27T04:38:40Z drmeister: I can't complain. 2020-01-27T04:39:19Z drmeister: Or I can - but lots of other people have more legitimate complaints. 2020-01-27T04:39:27Z no-defun-allowed: A friend told me that threads in Java-land have their own class loaders and thus class identities, so I have to work out some gymnastics to get ABCL to be able to read the right net.minecraft.client.Minecraft to get the only not-a-God-object instance of it. 2020-01-27T04:39:48Z ggole joined #lisp 2020-01-27T04:39:48Z torbo quit (Remote host closed the connection) 2020-01-27T04:40:02Z no-defun-allowed: Sure. 2020-01-27T04:41:56Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-27T04:42:16Z nullman quit (Ping timeout: 268 seconds) 2020-01-27T04:43:55Z nullman joined #lisp 2020-01-27T04:44:48Z akoana joined #lisp 2020-01-27T04:46:30Z varjag joined #lisp 2020-01-27T04:49:24Z beach: drmeister: Congratulations! 2020-01-27T04:50:11Z beach: For what it's worth, my plan is to promote keys to the global heap, where they will no longer move) before computing a hash value for them. 2020-01-27T04:50:40Z drmeister: All keys? 2020-01-27T04:50:45Z beach: Yes. 2020-01-27T04:50:47Z drmeister: Thank you by the way. 2020-01-27T04:51:23Z beach: Since that mechanism is required anyway, no additional logic is necessary. 2020-01-27T04:51:31Z varjag quit (Ping timeout: 268 seconds) 2020-01-27T04:51:54Z drmeister: location dependency is a headache. 2020-01-27T04:52:33Z beach: I have no experience with it, but it sounds messy, so I plan to avoid the mess. 2020-01-27T04:53:56Z drmeister: It was fortunate that I had this HashGenerator class that accumulates components of hashes and then calculates the hash at the end. I was able to add a method to add addresses and then later I can check if any of the addresses are stale. 2020-01-27T04:55:06Z beach: I wonder how much people factor in GC performance when they decide how to represent data. 2020-01-27T04:55:13Z krid quit (Ping timeout: 268 seconds) 2020-01-27T04:55:18Z drmeister: But man - i did not appreciate the complexity of implementing an EQ hash table with with objects moving around and multiple threads. 2020-01-27T04:56:06Z beach: What you are saying makes me confident that my plan is the right one. 2020-01-27T04:57:09Z drmeister: I'm not going to write a garbage collector anytime soon. So I use what I have. 2020-01-27T04:57:24Z drmeister: Clasp supports two GC's now. 2020-01-27T04:58:10Z beach: Sure. 2020-01-27T04:58:13Z drmeister: Our multithreaded compiler is really strangled by the Boehm GC. I'm really curious to see how it performs with MPS. 2020-01-27T04:58:58Z drmeister: The MPS uses bump allocation and each thread has a separate set of allocators. 2020-01-27T04:59:43Z beach: And the question I asked my self when offered by Nick Levine to use MPS was the relative complication of writing a GC or using MPS, which the additional complications for hash tables. 2020-01-27T05:00:02Z beach: I don't have the answer yet. 2020-01-27T05:00:11Z beach: GCs are notoriously hard to debug. 2020-01-27T05:01:36Z aeth: GCs basically take all of the effort that makes something like C hard, and puts the burden on the GC library instead of the language user. So thank you, GC authors. 2020-01-27T05:01:58Z kark quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-27T05:03:13Z beach: aeth: Now if we could just convince people who use languages with manual memory management for application development that this is the case. 2020-01-27T05:03:24Z kark joined #lisp 2020-01-27T05:03:58Z aeth: I spend quite a bit of time debugging memory issues when I write C or C++. Probably most of my debugging time. Those can be hard. 2020-01-27T05:05:51Z beach: I even consulted with a company where the project leaders used a moral argument. They thought that programmers should be morally obliged to clean up the memory they allocate. 2020-01-27T05:06:27Z beach: I didn't want to ask them how they could rely on the compiler emitting code to remove arguments from the stack after a function call, rather than making the programmer do it. 2020-01-27T05:08:04Z aeth: beach: I think the common argument is performance, especially in microbenchmarks. Maybe the best kind of response to that sort of thinking would be people getting SBCL lower on the graph here: https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fastest.html 2020-01-27T05:08:08Z ggole quit (Read error: Connection reset by peer) 2020-01-27T05:08:24Z aeth: It's already mostly 2x-5x within C/Rust/C++, and this is microoptimized hyper-optimized benchmark code, not code you'd see in production 2020-01-27T05:08:31Z ggole joined #lisp 2020-01-27T05:09:02Z beach: aeth: No, the most common argument is based on "gut feeling" with no statistical data whatsoever. And that gut feeling is typically wrong. 2020-01-27T05:09:20Z Bike quit (Quit: Lost terminal) 2020-01-27T05:09:55Z aeth: beach: Yes, but the most common rational arguments (or at least rationalizations) could be addressed with real-time garbage collection (the Java world is several steps ahead of us here) and improvement in overall language performance. 2020-01-27T05:10:13Z aeth: GCC has a head start in performance, but the more you optimize, the more diminishing returns you get, so most languages should catch up within 15 years imo. 2020-01-27T05:10:22Z beach: Part of the gut feeling has to do with thinking that malloc/free are very cheap. 2020-01-27T05:11:03Z aeth: As far as performance goes, Rust is the first to catch up with C/C++, but it's not going to be the last... 2020-01-27T05:11:10Z beach: Also the typical arguments do not attempt to take into account development and maintenance effort. 2020-01-27T05:11:17Z aeth: beach: Absolutely. 2020-01-27T05:11:33Z beach: They all assume an unbounded amount of resources in a small period of time. 2020-01-27T05:12:38Z aeth: beach: Even taking 3x to 5x slower than GCC C at face value (production C is not going to be as hyperoptimized as microbenchmarks), that's more than fine for just about every application. There's probably 25-30 languages that have implementations that are fast enough for almost everything. 2020-01-27T05:12:50Z aeth: beach: So, yes, maintenance effort is absolutely more important, especially for software maintained for 15-20 years. 2020-01-27T05:12:59Z aeth: Well, really, unbound years. 2020-01-27T05:14:02Z aeth: It doesn't help that what most people have in mind as C alternatives tend to have incredibly slow implementations, though. 2020-01-27T05:15:12Z beach: And those tiny benchmarks don't take into account the cost of doing reference counting or copying of data, or smart pointers, or ..., which will have to be introduced if the code is to be modular. 2020-01-27T05:16:13Z aeth: beach: Right, but winning at some tiny benchmarks is probably a necessary step in convincing people that Common Lisp can be fast enough. I think most people assume all Lisps are interpreted! 2020-01-27T05:18:46Z aeth: beach: A more serious performance issue is probably providing different GCs for different tasks (including RTGC), which the JVM now does. Performance complaints are valid here. 2020-01-27T05:19:38Z Necktwi quit (Ping timeout: 265 seconds) 2020-01-27T05:20:54Z FreeBirdLjj joined #lisp 2020-01-27T05:21:50Z aeth: SIMD is probably the next priority after better GC as far as "valid reasons to use GCC over SBCL" go 2020-01-27T05:22:23Z zaquest quit (Quit: Leaving) 2020-01-27T05:23:08Z ggole quit (Remote host closed the connection) 2020-01-27T05:23:32Z ggole joined #lisp 2020-01-27T05:25:45Z oxum quit (Remote host closed the connection) 2020-01-27T05:28:35Z vlatkoB joined #lisp 2020-01-27T05:31:49Z scymtym quit (Remote host closed the connection) 2020-01-27T05:35:54Z beach: Or, you can just give up trying to convince people. Given the strong psychological forces involved, there is little chance that facts will do the trick. 2020-01-27T05:36:22Z zaquest joined #lisp 2020-01-27T05:37:06Z ebzzry joined #lisp 2020-01-27T05:37:52Z beach: I am personally convinced that the only thing that will work (for some value of "work") is to show what can be done by producing good code, with good functionality, with less effort than what is possible with a language with manual memory management. 2020-01-27T05:39:13Z gravicappa joined #lisp 2020-01-27T05:39:56Z no-defun-allowed: Isn't there also that one paper that manual memory management apologists love to use that claims something like a 6x memory overhead? 2020-01-27T05:40:23Z no-defun-allowed: I think I tried to read it, then inferred they treated calling malloc/free as "free", which is absolute shite. 2020-01-27T05:40:32Z beach: I haven't seen that, but arguments like that are usually based on old GC technology. 2020-01-27T05:41:36Z no-defun-allowed: Maybe it was https://people.cs.umass.edu/~emery/pubs/gcvsmalloc.pdf 2020-01-27T05:42:11Z oxum joined #lisp 2020-01-27T05:42:33Z oxum quit (Read error: Connection reset by peer) 2020-01-27T05:42:33Z beach: Also, arguments without any comparison are pretty useless. I am reminded of the current debate here in France as to whether country roads should allow 80km/h or 90km/h. The debate is endless, because nobody dares set a price on a human life, which is what it boils down to. 2020-01-27T05:42:50Z no-defun-allowed: I think you're right; the paper states "Steele observes garbage collection overheads in LISP [sic] accounting for around 30% of application runtime [30]." and it cites Steele's 1975 paper on parallel compacting. 2020-01-27T05:42:53Z oxum joined #lisp 2020-01-27T05:43:01Z beach: I mean 80km/h lowers the annual death toll, great! But 70 even more so, and 60 even more.... 2020-01-27T05:43:13Z oxum quit (Read error: Connection reset by peer) 2020-01-27T05:43:16Z gnufr33d0m joined #lisp 2020-01-27T05:43:27Z beach: So that additional memory, how much does it cost, compared to the savings in development effort. 2020-01-27T05:43:57Z oxum joined #lisp 2020-01-27T05:44:29Z beach: Again, they assume that development and maintenance is free, and they are not willing to set a price on it, much like the French government does not dare put a price on a human life. 2020-01-27T05:45:53Z no-defun-allowed: "We show that GenMS, an Appel-style generational collector witha mark-sweep mature space, matches or exceeds (by up to 9%) the runtime performance of the best explicit memory manager when given five times as much memory." Something must be seriously wrong with that experiment, but I don't have a paper. 2020-01-27T05:47:11Z no-defun-allowed: But that also compares it to an "oracle", which will not exist for most programs. 2020-01-27T05:47:19Z beach: Not necessarily. There is a valid theorem that GC cost tends asymptotically to 0 when the size of the memory increases. 2020-01-27T05:47:44Z beach: And that is valid for mark-and-sweep as well as for copying collectors. 2020-01-27T05:48:26Z beach: So it looks like someone picked a memory size that will beat the "explicit" scheme. 2020-01-27T05:48:57Z no-defun-allowed: Sure, Appel wrote about it, and he computed the "crossover" point to be 7× the size of the live set. 2020-01-27T05:49:38Z brown121408 quit (Ping timeout: 240 seconds) 2020-01-27T05:49:43Z beach: But again, they are saying that for automatic memory management to be valid, its performance must be better than that of "explicit" memory management, assuming that everything else (like maintenance cost) is constant. 2020-01-27T05:50:36Z beach: ... just like the French government assumes that there is no loss of time and productivity when the speed limit is lowered. 2020-01-27T05:50:47Z brown121407 joined #lisp 2020-01-27T05:51:01Z no-defun-allowed: Maybe if an inverse statement was made, like, "The GenMS collector exhibits only a n% slowdown when provided the same memory size as an oracle-based memory manager", then the generalisations would not be as bad. 2020-01-27T05:52:21Z beach: That's not enough. Development cost, memory cost, and estimated number of deployed versions of the software must be taken into account. 2020-01-27T05:53:32Z beach: Clearly if you have millions of installations and each installation has to buy more memory, and provided you can charge a little more for the software, then you can spend much more effort on development. 2020-01-27T05:54:19Z beach: If you have only a few installations, it is highly unlikely that additional development cost will be cheaper than the additional memory those installations require. 2020-01-27T05:54:19Z no-defun-allowed: Sure. 2020-01-27T05:56:02Z Oladon quit (Quit: Leaving.) 2020-01-27T05:56:12Z beach: ... just as you would have to take into account the length of the stretch of road when you decide on the speed limit. 2020-01-27T05:58:50Z beach: Otherwise, you are back to the standard argument I hear in the industry, namely "we need all the speed we can get", which is false, but especially, it lead to completely absurd decisions with respect to development. 2020-01-27T06:00:27Z beach: I mean, forget about C++. You need to do everything in assembly, for starters. Then you need to hire LOTS of excellent programmers for a VERY LONG TIME. 2020-01-27T06:02:11Z pjb: 0 km/h lowers the annual death toll to the absolute minimum possible. Basically, 1 or 2 death, by meteorite drop or static car explosions. 2020-01-27T06:02:25Z pjb: There should be a speed limit on meteorites too… 2020-01-27T06:04:19Z p_l: beach: these days there's little push for C++ outside of few places which rarely would accept lisp anyway and where there's sunk cost of significant amount of libs and actual realtime performance issues 2020-01-27T06:04:38Z p_l: usually it's all about development speed, except it leads to applications developed in shitty JS in Electron environment 2020-01-27T06:07:04Z no-defun-allowed: pjb: "You" could also improve the safety of vehicles or educate the drivers better to have utility and less deaths, but that's no good if you're hitting someone with a car; nor does the analogy work as you cannot create a memory management oracle. 2020-01-27T06:08:05Z jello_pudding joined #lisp 2020-01-27T06:11:03Z beach: p_l: And that's a good evolution, because now, real comparisons can be made. Who was it (Steele?) that said something like "with Java, we managed to drag them half way to Lisp"? 2020-01-27T06:11:46Z no-defun-allowed: That was Steele. 2020-01-27T06:12:13Z davepdotorg joined #lisp 2020-01-27T06:12:20Z beach: p_l: But a similar argument applies. That sunk cost must be taken into account, but only as one factor. Another typical argument is that it is infinitely costly to train programmers (but not expressed that way). 2020-01-27T06:12:55Z p_l: beach: well, the main remaining place for C++ that is not through legacy code is games 2020-01-27T06:16:26Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-27T06:16:57Z jello_pudding quit (Quit: Quit) 2020-01-27T06:17:25Z jello_pudding joined #lisp 2020-01-27T06:17:59Z jello_pudding quit (Client Quit) 2020-01-27T06:18:06Z adamantium quit (Remote host closed the connection) 2020-01-27T06:19:15Z jello_pudding joined #lisp 2020-01-27T06:21:49Z akoana left #lisp 2020-01-27T06:25:36Z jello_pudding quit (Quit: Quitting Client) 2020-01-27T06:27:24Z beach: p_l: So then we should just dismiss benchmarks between "explicit" and automatic memory managment. 2020-01-27T06:27:28Z beach: management. 2020-01-27T06:27:44Z p_l: not really... because properly done they show manual losing ;) 2020-01-27T06:28:03Z p_l: benchmarks on various GC schemes are important to tuning them 2020-01-27T06:28:38Z beach: But if (almost) nobody is using such languages, who cares? 2020-01-27T06:28:40Z p_l: however, majority of programmers don't need them till they hit a performance problem, and in many cases there's no choice in algorithms, so you are left with profiler 2020-01-27T06:28:45Z beach: You can't have it both ways. 2020-01-27T06:28:54Z p_l: beach: manually-managed runtimes are a minority 2020-01-27T06:28:59Z p_l: C/C++ is a minority 2020-01-27T06:29:15Z p_l: most new Pascal code uses GC 2020-01-27T06:29:38Z p_l: Objective-C uses primitive schemes like refcounting 2020-01-27T06:29:59Z p_l: pretty much everything else used in desktop or server applications uses GC 2020-01-27T06:30:01Z narimiran joined #lisp 2020-01-27T06:30:17Z p_l: (or refcount or refcount plus simple GC) 2020-01-27T06:31:03Z p_l: IMHO, GC is not a battle to be won - because it's already won outside of certain niches 2020-01-27T06:31:35Z beach: So why are we still discussing those benchmarks? 2020-01-27T06:31:54Z beach: We should just use your argument. TADA! 2020-01-27T06:32:38Z p_l: beach: because programmers that are vocal about such things are, well, vocal? 2020-01-27T06:32:42Z beach: I am not saying you are wrong. On the contrary. I am not as well informed as you are. 2020-01-27T06:33:02Z beach: Who cares how vocal they are if they are a tiny minority. 2020-01-27T06:33:05Z p_l: another thing is that some benchmarks are done for the purpose of analysing the state of the art, and are then taken by some people who run crazy with it 2020-01-27T06:33:10Z p_l: beach: they are *heard* minority 2020-01-27T06:33:21Z beach: Again, you can't have it both ways. 2020-01-27T06:33:31Z p_l: and sometimes you have people who might work in tech X but often claim views against it 2020-01-27T06:33:31Z beach: Either the battle is won or it is not. 2020-01-27T06:33:59Z beach: I can go either way, because I am not well informed. But it can't be both. 2020-01-27T06:34:11Z p_l: beach: it also doesn't help that there's a certain well known and popular platform that happens to use GC but which, unrelated to GC, sucks so hard it's not funny 2020-01-27T06:34:15Z p_l: (and no it's not Java) 2020-01-27T06:34:28Z beach: That's a very different argument. 2020-01-27T06:35:03Z p_l: yes 2020-01-27T06:35:20Z p_l: but it stokes the fire under "if we used manual memory management it would be better" 2020-01-27T06:35:32Z beach: I see. 2020-01-27T06:38:15Z p_l: also, to be frank, GCs in Common Lisp, at least in open-source implementations, are kinda on the lower end of capability 2020-01-27T06:38:34Z p_l: but that's a total aside 2020-01-27T06:39:10Z georgie joined #lisp 2020-01-27T06:40:44Z beach: Indeed. Most such implementations were written long ago. 2020-01-27T06:40:51Z adamantium joined #lisp 2020-01-27T06:42:52Z shka_ joined #lisp 2020-01-27T06:44:36Z p_l: still they tend to work pretty well 2020-01-27T06:53:21Z georgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-27T07:02:47Z oxum_ joined #lisp 2020-01-27T07:03:09Z oxum quit (Read error: Connection reset by peer) 2020-01-27T07:03:12Z jprajzne quit (Quit: jprajzne) 2020-01-27T07:04:46Z oxum_ quit (Remote host closed the connection) 2020-01-27T07:06:07Z oxum joined #lisp 2020-01-27T07:06:26Z oxum quit (Read error: Connection reset by peer) 2020-01-27T07:06:56Z oxum joined #lisp 2020-01-27T07:07:20Z varjag joined #lisp 2020-01-27T07:08:06Z shka_ quit (Ping timeout: 265 seconds) 2020-01-27T07:08:22Z gioyik quit (Quit: WeeChat 2.7) 2020-01-27T07:08:24Z aeth: beach: You're right about people not really being convinced. The thing that is most "convincing" as far as programming languages go is not giving people a choice. Most popular languages are the only real choice for a platform, most notably JavaScript. But even with e.g. Python, its high-quality libraries drive people there for various niches, such as machine learning. 2020-01-27T07:09:54Z aeth: p_l: Real-time manual memory management can be beaten, too, it's just that it's a niche so the focus on GCs weren't really there until recently. Now that it's the main remaining justified niche for C++, it's slowly being tackled. As I mentioned earlier, the JVM now has configurable GC so you can choose that e.g. your application is real-time so use the RTGC. 2020-01-27T07:10:40Z aeth: Hopefully Lisp implementations will catch up. 2020-01-27T07:10:46Z beach: I don't buy that argument. I have never seen a project cost estimate that takes into account the cost of implementing a language for a platform where it does not exist yet. 2020-01-27T07:11:08Z emys joined #lisp 2020-01-27T07:11:11Z beach: aeth: Just as I never see a project cost estimate that takes into account the cost of training programmers in a different language. 2020-01-27T07:11:23Z aeth: p_l: Another thing is explicit layout of bytes, which C# (not Java) has gotten fairly good at doing afaik iirc. Most of the time you don't want that, but when you need to micromanage it, you can use certain exposed data structures. 2020-01-27T07:11:41Z p_l: beach: I think I've seen two or three where "we need to port our chosen language" was involved 2020-01-27T07:11:57Z p_l: also, real time and real time differ :) 2020-01-27T07:12:00Z aeth: beach: No, my point is that a platform drives people to a language (e.g. JavaScript in web browsers) and then once a lot of people know that language, they then try to use that language elsewhere because they're attached to it (e.g. node.js) 2020-01-27T07:12:27Z varjag quit (Ping timeout: 265 seconds) 2020-01-27T07:12:35Z aeth: So platforms seem to drive popularity in "new" languages (new relative to C) 2020-01-27T07:12:40Z beach: aeth: Yes, but they should put a price tag on that attachment. Which they don't. 2020-01-27T07:12:43Z dale quit (Quit: My computer has gone to sleep) 2020-01-27T07:13:24Z p_l: portability is why I don't intend to write anything in Rust anytime soon 2020-01-27T07:13:52Z beach: Aside from "we need all the speed we can get" I also see "all our programmers already know X". 2020-01-27T07:14:08Z beach: And I guess I should add "Our target platform only has X on it." 2020-01-27T07:14:24Z beach: ... thereby assigning infinite costs to alternatives. 2020-01-27T07:14:28Z jeosol: By the way, I am enjoying this conversation about language choice given that I chose to use CL (because of CLOS) and Paul Graham recommended Clojure when I asked him. I recently investigated react. It's definitely led to rewiring some of my neurons, not easy to follow 2020-01-27T07:14:28Z aeth: more people need Mezzano as their target platform... 2020-01-27T07:16:04Z p_l: ABCL and Clojure open up a lot of platforms 2020-01-27T07:16:06Z jeosol: but I no front-end expert. I have gotten involved in language wars also, given I use CL, and when people see me using emacs+slime, they wonder what is this obscure language I am using 2020-01-27T07:16:06Z aeth: beach: To be fair, those first two are some of the reasons why I use SBCL. I need all the speed I can get, and I know CL. 2020-01-27T07:16:14Z aeth: beach: Now I just need to make a target platform for SBCL ;-) 2020-01-27T07:16:59Z no-defun-allowed: Graham avoids CLOS in CL, which is very strange. (...or was that Norvig?) 2020-01-27T07:17:02Z aeth: Of course, I'm joking a bit. It's a somewhat different matter to choose an implementation of a portable language because it's the fastest, rather than choosing a language because it has fast implementations. 2020-01-27T07:17:29Z aeth: no-defun-allowed: Yeah, I noticed the contradiction too. (In that jeosol likes CL because of CLOS and pg?) 2020-01-27T07:17:36Z aeth: Because pg is very anti-CLOS 2020-01-27T07:17:51Z jeosol: Yes, it led to be twitter back and forth when I asked Graham, but after I clarified my application was using CLOS heavily, it did admit and conceded that, I should proceed with CL then. 2020-01-27T07:18:16Z no-defun-allowed: Baker already made the CLOStrophobic pun (for other reasons) but Graham does seem to have a case of CLOStrophobia. 2020-01-27T07:18:26Z jeosol: no-defun-allowed: thanks for that clarification, I didn't know at the time 2020-01-27T07:19:05Z jeosol: or even suspected. My main issue (before I got far) was about deployment. I was very early in the journey 2020-01-27T07:19:20Z oxum quit (Remote host closed the connection) 2020-01-27T07:20:02Z JohnMS_WORK joined #lisp 2020-01-27T07:20:12Z jeosol: how have you guys dealt with the issue of, not many CL programmers, or people don't want to learn this old language. 2020-01-27T07:20:26Z emys quit (Ping timeout: 240 seconds) 2020-01-27T07:20:40Z jeosol: viz-a-viz interop with other systems 2020-01-27T07:21:49Z jeosol: aeth: what do you mean by target platform for SBCL ? 2020-01-27T07:22:16Z aeth: jeosol: well, I mean a target platform utilizing SBCL 2020-01-27T07:22:29Z aeth: since now that will hit all 3 of 3 checkboxes for why to use a language 2020-01-27T07:23:42Z georgie joined #lisp 2020-01-27T07:23:44Z adamantium quit (Remote host closed the connection) 2020-01-27T07:24:03Z adamantium joined #lisp 2020-01-27T07:24:42Z jeosol: Thanks for clarifying. I see what you mean. the "3 of 3 checkboxes" discussed earlier I assume? 2020-01-27T07:25:59Z aeth: I was attempting to joke. 2020-01-27T07:26:07Z jeosol: I have had a hard time convincing people given that they never programmed in CL. I guess I need to do a better job articulating my choice of language 2020-01-27T07:26:44Z beach: jeosol: In my experience, convincing people won't work. The only thing that works is to show them good results yourself. 2020-01-27T07:26:52Z Shinmera: what beach said. 2020-01-27T07:27:12Z aeth: jeosol: There is no convincing most people, most people use a language to do something rather than picking languages based on design characteristics. If you really wanted to convince people, write a library they want to use or an application they want to modify/script. 2020-01-27T07:27:19Z jeosol: beach: I have the good results. i.e., the proof, it's what I am currently working on 2020-01-27T07:27:27Z aeth: We already see what makes languages popular in the most popular Lisp: Emacs Lisp. 2020-01-27T07:27:38Z beach: jeosol: Excellent! 2020-01-27T07:28:07Z beach: jeosol: Then you can just sit back and wait. Those who want to be convinced will come to you. 2020-01-27T07:28:09Z emys joined #lisp 2020-01-27T07:28:17Z aeth: Objectively imo Emacs Lisp is possibly the worst living Lisp language, but it's the most popular at least on Github, mostly poor quality configuration/scripting of Emacs. Quantity, not quality, but you can't deny the popularity. 2020-01-27T07:28:23Z aeth: And people use it because they have to. 2020-01-27T07:28:37Z jeosol: I did start with matlab, then C++, then eventually CL. Writing a complex application in CL was smooth (of course, after I mastered CLOS and other aspects of the lang). 2020-01-27T07:29:06Z aeth: A complex application in CL can be entirely written within LOOP! 2020-01-27T07:30:28Z jeosol: beach: thanks for that. I am in the process of the proving now. with slime + emacs, one M- . much easier to navigate to functions, fix errors. 2020-01-27T07:31:41Z jeosol: I think have some improvements to make. I was recently having a chat with Fare about parallel compilation to make things faster and reducing the package dependencies. he told me to look at POIU and asdf-grovel--? something like that. 2020-01-27T07:32:34Z Nilby: asdf-grovel-dependencies maybe? 2020-01-27T07:32:39Z jeosol: Shinmera, aeth, beach: thanks, I will just avoid proviing anything 2020-01-27T07:32:50Z jeosol: Nilby: that's it. asdf-grovel-dependency 2020-01-27T07:34:17Z Nilby: I really wish asdf-grovel-dependency worked flawlessly. 2020-01-27T07:34:35Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-27T07:34:47Z jeosol: Nilby: you used it before. I didn't see a lot examples, in my limited search 2020-01-27T07:36:45Z Nilby: If it was combined with beach's Eclector it might be better. 2020-01-27T07:38:22Z jeosol: ok, I need to look Eclector up 2020-01-27T07:39:29Z jeosol: Fare did provide pointers, but did warn me that it will take some effort. I haven't hard time yet. 2020-01-27T07:40:22Z Nilby: It's one of those things which would be nice, but would be a lot of work to get right, so everyone just does manual dependencies. 2020-01-27T07:40:46Z beach: Nilby: It is scymtym's Eclector now. 2020-01-27T07:41:13Z flamebeard joined #lisp 2020-01-27T07:41:56Z emys quit (Ping timeout: 265 seconds) 2020-01-27T07:43:03Z Nilby: beach: Ah, sorry, I'm bad at keeping up on who's working on what. I guess if it's in quicklisp it's everybody's now. 2020-01-27T07:43:31Z beach: Oh, is it in Quicklisp? 2020-01-27T07:43:38Z beach: I tend to forget. 2020-01-27T07:43:50Z georgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-27T07:44:23Z oxum joined #lisp 2020-01-27T07:44:30Z jprajzne joined #lisp 2020-01-27T07:46:08Z emys joined #lisp 2020-01-27T07:51:27Z karlosz quit (Quit: karlosz) 2020-01-27T07:52:09Z karlosz joined #lisp 2020-01-27T07:53:12Z Duuqnd joined #lisp 2020-01-27T07:55:58Z madrik joined #lisp 2020-01-27T08:07:21Z Cymew joined #lisp 2020-01-27T08:07:27Z easye quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-27T08:08:07Z oxum quit (Remote host closed the connection) 2020-01-27T08:12:50Z davepdotorg joined #lisp 2020-01-27T08:13:10Z easye joined #lisp 2020-01-27T08:16:32Z akrl`` joined #lisp 2020-01-27T08:17:51Z stux|RC-- joined #lisp 2020-01-27T08:17:59Z asarch joined #lisp 2020-01-27T08:18:02Z stux|RC quit (Ping timeout: 240 seconds) 2020-01-27T08:18:13Z asarch: One stupid question: is C 2020-01-27T08:18:15Z Shinmera: It's been on QL for over a year now :) 2020-01-27T08:18:17Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-27T08:18:38Z akrl` quit (Ping timeout: 260 seconds) 2020-01-27T08:18:38Z Oddity quit (Ping timeout: 260 seconds) 2020-01-27T08:18:39Z asarch: I mean, is C++'s STL considered a "metaobject protocol"? 2020-01-27T08:18:55Z emys quit (Read error: Connection timed out) 2020-01-27T08:19:13Z dddddd quit (Ping timeout: 260 seconds) 2020-01-27T08:20:04Z jackdaniel: I've never heard anyone calling it that, so no 2020-01-27T08:20:19Z jackdaniel: at least as far as I'm aware 2020-01-27T08:21:33Z Nistur quit (Ping timeout: 260 seconds) 2020-01-27T08:21:53Z pjb: asarch: nope. There's a MOP for C++. But it has bitrotten. 2020-01-27T08:22:12Z pjb: OpenC++ see http://informatimago.com/articles/life-saver.html 2020-01-27T08:22:25Z Tordek quit (Ping timeout: 268 seconds) 2020-01-27T08:23:18Z Tordek joined #lisp 2020-01-27T08:23:50Z beach: asarch: I am curious as to why you care about what is named what? 2020-01-27T08:23:57Z copec quit (*.net *.split) 2020-01-27T08:23:57Z Intensity quit (*.net *.split) 2020-01-27T08:24:48Z beach: asarch: Why is it not enough to know what you can do with each thing? 2020-01-27T08:25:11Z beach: asarch: Are you involved in some argument with other people? 2020-01-27T08:25:31Z pjb: Or it's a mapper strategy, to classify things… 2020-01-27T08:25:52Z beach: Or that, but for what purpose? 2020-01-27T08:25:58Z pjb: Learning. 2020-01-27T08:26:01Z beach: asarch: Are you writing a book? 2020-01-27T08:26:37Z Oddity joined #lisp 2020-01-27T08:26:50Z beach: asarch: And if you program in Common Lisp, why do you care about STL and C++? 2020-01-27T08:27:55Z Nistur joined #lisp 2020-01-27T08:27:58Z Tordek quit (Ping timeout: 260 seconds) 2020-01-27T08:29:21Z beach: asarch: I mean, your latest question, I would have phrased something like "what characterizes a metaobject protocol", and then I would have checked whether STL fits the description. 2020-01-27T08:29:42Z georgiePorgie joined #lisp 2020-01-27T08:29:49Z no-defun-allowed: I don't think STL does anything like a metaobject protocol. 2020-01-27T08:30:07Z Player_one joined #lisp 2020-01-27T08:30:12Z beach: Of course, but it's still a strange way of asking. 2020-01-27T08:30:13Z Player_one quit (Remote host closed the connection) 2020-01-27T08:31:01Z no-defun-allowed: The C++ object system is very much a compile-time object system; I think it is unlikely you can create a MOP there. 2020-01-27T08:32:22Z beach: I would encourage asarch to learn about the characteristics I was talking about, rather than collecting a list of yes/no items. 2020-01-27T08:32:42Z Nistur quit (Remote host closed the connection) 2020-01-27T08:35:41Z jello_pudding joined #lisp 2020-01-27T08:35:45Z beach: Perhaps asarch isn't even interested in the answers. Maybe it's all meant to keep other #lisp participants busy. 2020-01-27T08:35:56Z Nilby: I just double checked, in case they added something. C++ in no way has a MOP. 2020-01-27T08:36:15Z copec joined #lisp 2020-01-27T08:36:15Z Intensity joined #lisp 2020-01-27T08:36:24Z beach: If so, it's working. 2020-01-27T08:37:00Z ralt joined #lisp 2020-01-27T08:43:08Z Oddity quit (Ping timeout: 260 seconds) 2020-01-27T08:44:59Z Nistur joined #lisp 2020-01-27T08:45:35Z Tordek joined #lisp 2020-01-27T08:48:11Z karlosz quit (Quit: karlosz) 2020-01-27T08:49:51Z Oddity joined #lisp 2020-01-27T08:51:28Z p_l: the simple answer is that STL is in no way a metaobject protocol, and I think C++ native objects make it impossible to implement one unless it's hosted on top of a system using one to implement C++ 2020-01-27T08:52:00Z p_l: (the latter would fall close to OpenC++) 2020-01-27T08:52:15Z Shinmera: Qt and GTK have their own versions of something approaching a "mop". 2020-01-27T08:54:32Z p_l: GTK implements its own object system so it can provide a metaobject layer for it (as you can grab the implementation code and choke the metaobject out of it) but it's not self-hosting metaobject 2020-01-27T08:55:28Z jackdaniel: if you are interested in this kind of stuff you may take a look at eobject protocols in efl libraries 2020-01-27T08:55:45Z p_l: Qt's metaobject support is more about implementing certain behaviours as metaclass for all classes in a hierarchy while avoiding certain issues of the C++ as language, but it's also not self-hosting, and iirc less capable than OpenC++ 2020-01-27T08:57:46Z Nilby: Qt used to have to pre-process C++ to even call methods properly, maybe it still does? 2020-01-27T08:58:06Z p_l: no, it stopped afaik around 3.x 2020-01-27T09:00:28Z pjb: The story on shared libraries and dynamic loading [pdf] 2020-01-27T09:05:24Z emys joined #lisp 2020-01-27T09:10:45Z asarch: Well, it turns I am reading (once again) the "The Art of the Metaobject Protocol" book 2020-01-27T09:11:37Z asarch: And in the prologue the book says that a metaobject is a "collection" of classes that "helps and makes" the life of a programmer easier 2020-01-27T09:12:11Z beach: Yes, but that's not ALL it is. 2020-01-27T09:13:23Z Cymew: Weak sauce. I want my classes to hinder me, and make me stronger! 2020-01-27T09:13:38Z emys quit (Ping timeout: 240 seconds) 2020-01-27T09:14:17Z Shinmera: Cymew: Java exists 2020-01-27T09:14:24Z asarch: So, if C++'s STL is not a MOP at all, what exactly is a MOP? 2020-01-27T09:14:45Z asarch: Would you consider the old Borland's OWL (ObjectWindow Library) as a MOP? 2020-01-27T09:15:16Z beach: asarch: Stop it please. 2020-01-27T09:15:24Z no-defun-allowed: Uhm, a meta-object protocol relates to how classes and generic functions work together, more or less. 2020-01-27T09:15:32Z beach: asarch: Read the book. 2020-01-27T09:16:12Z p_l: asarch: the more formal definition is that a MetaObject system is how the object system is implemented, i.e. it's object system defining the object system, preferably in metacircular way 2020-01-27T09:16:53Z davepdotorg joined #lisp 2020-01-27T09:16:58Z davepdotorg quit (Remote host closed the connection) 2020-01-27T09:17:04Z davepdot_ joined #lisp 2020-01-27T09:17:09Z beach: asarch: It means that the entire object system is written in itself, and that it allows for the user to adapt and extend it using the same tools as the MOP proposes for application development . 2020-01-27T09:17:34Z asarch: For example this sentence: "Augmenting a language with a metaobject protocol does not need to be a radical change. In many cases, problems with an existing language or implementation can be improved by gradually introducing metaobject protocol features" 2020-01-27T09:17:39Z no-defun-allowed: One common-ish use of the Meta Object Protocol in Common Lisp is to create metaclasses which allow classes to be serialised to a database or text format, with the client adding hints where necessary into the class definition. 2020-01-27T09:17:58Z no-defun-allowed: That would be difficult with C++, and probably not related at all to the STL or OWL. 2020-01-27T09:18:29Z emys joined #lisp 2020-01-27T09:18:41Z asarch: I thought "metaclasses" were the same as "abstract classes" (or even "templates") :-( 2020-01-27T09:19:12Z no-defun-allowed: Not really. 2020-01-27T09:20:11Z adamantium quit (Remote host closed the connection) 2020-01-27T09:20:16Z Nilby: asarch: Maybe my favorite MOP video will help? https://www.youtube.com/watch?v=IrmHp1rRQ68 2020-01-27T09:20:17Z p_l: C++ templates are really separate from the whole "object" model of C++. abstract classes are just a certain pattern in inheritance-heavy programming 2020-01-27T09:20:20Z no-defun-allowed: A class is an instance of a metaclass, like an instance is an instance of a class. (Then a metaclass is a class which is an instance of a metaclass, so you get some circularity.) 2020-01-27T09:20:47Z Cymew: Shinmera: Good point. 2020-01-27T09:20:47Z jackdaniel: despite seeing word mop splattered all over the place I can't help but see an offtopic discussion 2020-01-27T09:20:51Z pjb: asarch: you thought wrong. 2020-01-27T09:21:01Z oni-on-ion quit (Remote host closed the connection) 2020-01-27T09:21:20Z oni-on-ion joined #lisp 2020-01-27T09:21:43Z pjb: asarch: abstract classes are classes that cannot have instances. templates are not classes, they're copy-paste programming in a fashion. 2020-01-27T09:22:12Z pjb: asarch: metaclasses are the classes of the classes. There, classes are objects like any other object. 2020-01-27T09:22:29Z asarch takes notes... 2020-01-27T09:23:27Z pjb: asarch: in C++, classes are not object. You cannot declare in your program a variable to hold a class, and do things with it. (You can do it in templates but there classes are considered just as types). 2020-01-27T09:23:47Z Cymew: jackdaniel: Serious question. Is MOP ever talkd about outside of Common Lisp? I don't know. 2020-01-27T09:23:55Z pjb: asarch: the MOP let you define new metaclasses that let you create different *kinds* of classes. 2020-01-27T09:24:10Z pjb: Cymew: see OpenC++ link above. 2020-01-27T09:24:10Z jackdaniel: Cymew: it is discussed in "other lisps" 2020-01-27T09:24:19Z jackdaniel: i.e Lisp in Small Pieces discusses MOP 2020-01-27T09:24:29Z asarch: Does Smalltalk-80 has its own MOP? (you know, CLOS was inspired in the Smalltalk classes which actually were inspired in CLOS...) 2020-01-27T09:24:29Z Cymew: I have been illuminated. 2020-01-27T09:24:30Z pjb: Cymew: also, it's a fundamental feature of Smalltalk. 2020-01-27T09:24:31Z jackdaniel: EuLisp standard defines its own MOP 2020-01-27T09:24:32Z jackdaniel: etc 2020-01-27T09:24:41Z no-defun-allowed: Smalltalk and I believe Python to some extent. 2020-01-27T09:25:07Z Cymew: Thanks. 2020-01-27T09:26:24Z adamantium joined #lisp 2020-01-27T09:27:37Z pjb: asarch: to understand the MOP, just try to implement an object system yourself. 2020-01-27T09:27:45Z asarch: "You cannot declare in your program a variable to hold a class, and do things with it." <- These are "first-class classes", right? 2020-01-27T09:27:52Z pjb: Yes. 2020-01-27T09:28:22Z no-defun-allowed: If you replace "cannot" with "can", then yes. 2020-01-27T09:28:35Z asarch: Does Common Lisp support them? 2020-01-27T09:28:45Z pjb: Once you can do that, you could send messages to a class to do various things, such as, add new methods, replace methods, add slots, scan slots for slots of a given type and generate methods for them, etc. 2020-01-27T09:28:49Z pjb: Of course. 2020-01-27T09:28:54Z asarch: How? 2020-01-27T09:28:56Z no-defun-allowed: (defvar *my-very-dearest-class* (find-class 'standard-class)) ; You tell me. 2020-01-27T09:28:59Z adamanti` joined #lisp 2020-01-27T09:29:00Z adamantium quit (Read error: Connection reset by peer) 2020-01-27T09:29:01Z pjb: (defclass foo () ()) (find-class 'foo) #| --> # |# 2020-01-27T09:29:14Z p_l: asarch: Smalltalks generally has MOP, so does Ruby 2020-01-27T09:29:15Z pjb: (let ((class (find-class 'foo))) (make-instance class)) #| --> # |# 2020-01-27T09:29:24Z adamanti` is now known as adamantium 2020-01-27T09:30:01Z asarch: Wow! I've seen this example in Python with SQLAlchemy so far: Session = create_session(...); session = Session(); 2020-01-27T09:30:41Z pjb: (defclass foo () (x y z)) (let ((class (find-class 'foo))) (c2mop:class-direct-slots class)) #| --> (# # #) |# 2020-01-27T09:32:24Z asarch: What is the name of the Smalltalk's MOP? 2020-01-27T09:32:28Z pjb: asarch: now in the case of CLOS, methods are not attached to classes, but to generic functions. But it would be trivial to define a metaclass to put methods into classes, and to (single) dispatch like in Smalltalk. Since you are reading the "The Art of the Metaobject Protocol", you should do just that as an exercise. 2020-01-27T09:32:40Z no-defun-allowed: asarch: You might be interested in how postmodern handles database definitions: https://sites.google.com/site/sabraonthehill/postmodern-examples/postmodern-dao 2020-01-27T09:32:49Z pjb: asarch: it doesn't have a name, it's just the fundamental workings of the Smalltalk object system. 2020-01-27T09:33:10Z adamantium quit (Changing host) 2020-01-27T09:33:10Z adamantium joined #lisp 2020-01-27T09:34:53Z asarch: Wow! So many features. Now I can understand why Common Lisp is far from other programming languages 2020-01-27T09:35:49Z asarch: Is McCLIM designed a la MOP? 2020-01-27T09:36:24Z jackdaniel: no 2020-01-27T09:37:13Z no-defun-allowed: No, and I can't really imagine how some of the complexities (like bootstrapping the MOP) would exist with an interface manager. 2020-01-27T09:38:24Z asarch: You magically have answered my next question: "why not?" 2020-01-27T09:38:39Z asarch: What do you mean with "bootstrapping the MOP"? 2020-01-27T09:38:51Z p_l: asarch: that said, I think CLIM uses some of the features of MOP quite heavily? 2020-01-27T09:39:52Z no-defun-allowed: As I said, the standard-class's metaclass (from memory) is standard-class, so that is already circular. 2020-01-27T09:40:15Z no-defun-allowed: Then compute-discriminating-function is also circular, as it is used to set up a generic function, and it is a generic function. 2020-01-27T09:40:40Z asarch: The book talks about that situation 2020-01-27T09:40:44Z emys quit (Ping timeout: 268 seconds) 2020-01-27T09:41:48Z no-defun-allowed: http://metamodular.com/SICL/bootstrapping-slides.pdf mentions some other issues, such as how slot definitions are also instances, thus slot-value is also circular. 2020-01-27T09:43:24Z beach: The paper does too I hope: http://metamodular.com/SICL/bootstrapping.pdf 2020-01-27T09:45:01Z emys joined #lisp 2020-01-27T09:45:21Z asarch: Now I understand the C++'s mock "worse is better" 2020-01-27T09:45:25Z space_otter quit (Remote host closed the connection) 2020-01-27T09:45:51Z asarch: There are so many other great features to discover 2020-01-27T09:51:02Z _whitelogger quit (Remote host closed the connection) 2020-01-27T09:51:52Z statusf90 joined #lisp 2020-01-27T09:52:59Z asarch: I wonder if you could do first-class classes with Moose... 2020-01-27T09:53:14Z _whitelogger joined #lisp 2020-01-27T09:53:38Z emys quit (Ping timeout: 240 seconds) 2020-01-27T09:54:01Z no-defun-allowed: What's Moose? 2020-01-27T09:55:15Z jackdaniel: asarch: this is offtopic on this channel, you may move it to #lispcafe or #perl channel 2020-01-27T09:56:20Z asarch: Sorry :-( 2020-01-27T09:56:31Z beach: asarch: The key idea with Common Lisp classes is to realize that a class is just a model for creating objects, so when this idea is taken to its extreme, a class is just an object that can be given as an argument to the generic function MAKE-INSTANCE. 2020-01-27T09:56:59Z beach: asarch: It is in this respect that classes are first-class objects in Common Lisp. 2020-01-27T09:57:12Z beach: It would have been much harder to do it any other way. 2020-01-27T09:57:28Z emys joined #lisp 2020-01-27T09:58:17Z asarch: "A class is just a model for creating objects" <- Wow! So powerful! Is there other way to create them? 2020-01-27T09:58:50Z beach: In Common Lisp, instances of built-in classes are created differently. 2020-01-27T09:59:09Z asarch: The book talks about other ways before CLOS 2020-01-27T09:59:16Z beach: asarch: Like using CONS, MAKE-ARRAY, GENSYM, MAKE-HASH-TABLE, etc. 2020-01-27T09:59:58Z z147 joined #lisp 2020-01-27T10:00:27Z madrik quit (Ping timeout: 265 seconds) 2020-01-27T10:02:28Z emys quit (Ping timeout: 252 seconds) 2020-01-27T10:07:55Z varjag joined #lisp 2020-01-27T10:09:21Z tiwEllien joined #lisp 2020-01-27T10:09:37Z oxum joined #lisp 2020-01-27T10:12:52Z m00natic joined #lisp 2020-01-27T10:13:40Z ralt: to answer to no-defun-allowed, Moose is a widely-used Perl library to make perl much more OOPy 2020-01-27T10:18:02Z _whitelogger quit (Remote host closed the connection) 2020-01-27T10:19:16Z stux|RC-- quit (Quit: Aloha!) 2020-01-27T10:20:01Z stux|RC joined #lisp 2020-01-27T10:20:15Z _whitelogger joined #lisp 2020-01-27T10:23:28Z akoana joined #lisp 2020-01-27T10:27:23Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-27T10:28:21Z cosimone joined #lisp 2020-01-27T10:28:39Z asarch: Well, thank you guys. Thank you very much 2020-01-27T10:28:44Z asarch: Have a nice day :-) 2020-01-27T10:28:48Z asarch quit (Quit: Leaving) 2020-01-27T10:31:59Z oxum_ joined #lisp 2020-01-27T10:32:02Z oxum quit (Read error: Connection reset by peer) 2020-01-27T10:40:09Z oxum_ quit (Remote host closed the connection) 2020-01-27T10:40:40Z statusf90 quit (Quit: statusf90) 2020-01-27T10:45:03Z oxum joined #lisp 2020-01-27T10:47:08Z glv joined #lisp 2020-01-27T10:50:26Z oxum_ joined #lisp 2020-01-27T10:51:52Z oxum quit (Remote host closed the connection) 2020-01-27T10:51:53Z orivej quit (Ping timeout: 265 seconds) 2020-01-27T10:52:45Z oxum_ quit (Remote host closed the connection) 2020-01-27T10:53:48Z v88m quit (Ping timeout: 260 seconds) 2020-01-27T10:54:01Z akrl`` quit (Remote host closed the connection) 2020-01-27T10:54:13Z akrl`` joined #lisp 2020-01-27T10:55:39Z oxum joined #lisp 2020-01-27T10:55:47Z random-nick joined #lisp 2020-01-27T10:56:23Z akrl`` quit (Remote host closed the connection) 2020-01-27T10:56:32Z akrl`` joined #lisp 2020-01-27T10:56:42Z adamantium quit (Remote host closed the connection) 2020-01-27T10:58:02Z adamantium joined #lisp 2020-01-27T10:59:36Z cosimone quit (Quit: Terminated!) 2020-01-27T11:07:51Z JohnMS joined #lisp 2020-01-27T11:09:29Z jonatack quit (Ping timeout: 272 seconds) 2020-01-27T11:10:46Z JohnMS_WORK quit (Ping timeout: 268 seconds) 2020-01-27T11:11:50Z ljavorsk_ joined #lisp 2020-01-27T11:15:29Z oxum quit (Read error: Connection reset by peer) 2020-01-27T11:15:42Z oxum_ joined #lisp 2020-01-27T11:18:02Z igemnace quit (Quit: WeeChat 2.7) 2020-01-27T11:23:12Z longshi joined #lisp 2020-01-27T11:23:47Z EvW1 joined #lisp 2020-01-27T11:32:05Z edgar-rft quit (Quit: Leaving) 2020-01-27T11:40:58Z jonatack joined #lisp 2020-01-27T11:41:56Z pjb quit (Remote host closed the connection) 2020-01-27T11:44:41Z pjb joined #lisp 2020-01-27T11:44:41Z Nilby quit (Read error: Connection reset by peer) 2020-01-27T11:46:41Z montaropdf joined #lisp 2020-01-27T11:51:02Z dddddd joined #lisp 2020-01-27T11:53:00Z z147 quit (Remote host closed the connection) 2020-01-27T11:53:23Z z147 joined #lisp 2020-01-27T12:02:38Z montaropdf: Good afternoon 2020-01-27T12:03:36Z montaropdf: I have updated the description of the lispdb format and added some examples. 2020-01-27T12:04:31Z montaropdf: https://github.com/montaropdf/reve-workshop/tree/dev/docs/notes 2020-01-27T12:09:54Z pjb quit (Read error: Connection reset by peer) 2020-01-27T12:11:32Z pjb joined #lisp 2020-01-27T12:11:34Z brown121407 quit (Read error: Connection reset by peer) 2020-01-27T12:11:43Z brown121407 joined #lisp 2020-01-27T12:17:03Z pjb quit (Remote host closed the connection) 2020-01-27T12:19:10Z pjb joined #lisp 2020-01-27T12:24:53Z pjb quit (Read error: Connection reset by peer) 2020-01-27T12:26:27Z nika_ joined #lisp 2020-01-27T12:26:27Z pjb joined #lisp 2020-01-27T12:29:28Z adamantium quit (Remote host closed the connection) 2020-01-27T12:30:39Z cartwright quit (Remote host closed the connection) 2020-01-27T12:35:36Z cartwright joined #lisp 2020-01-27T12:36:48Z lucasb joined #lisp 2020-01-27T12:38:43Z pjb quit (Remote host closed the connection) 2020-01-27T12:40:18Z pjb joined #lisp 2020-01-27T12:50:12Z adamantium joined #lisp 2020-01-27T12:55:35Z jebes quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-27T12:57:09Z longshi quit (Ping timeout: 272 seconds) 2020-01-27T12:58:16Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-27T13:01:13Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-27T13:01:50Z X-Scale` joined #lisp 2020-01-27T13:02:11Z brown121407 quit (Ping timeout: 265 seconds) 2020-01-27T13:02:23Z brown121407 joined #lisp 2020-01-27T13:03:06Z X-Scale` is now known as X-Scale 2020-01-27T13:04:16Z papachan joined #lisp 2020-01-27T13:11:20Z jmercouris joined #lisp 2020-01-27T13:13:03Z madrik joined #lisp 2020-01-27T13:15:53Z shangul quit (Remote host closed the connection) 2020-01-27T13:16:22Z shangul joined #lisp 2020-01-27T13:16:33Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-27T13:25:02Z amerlyq joined #lisp 2020-01-27T13:25:12Z Retropikzel quit (Quit: Vision[0.10.3]: i've been blurred!) 2020-01-27T13:29:16Z jmercouris quit (Remote host closed the connection) 2020-01-27T13:31:49Z georgiePorgie joined #lisp 2020-01-27T13:32:21Z william1_ joined #lisp 2020-01-27T13:34:35Z oxum joined #lisp 2020-01-27T13:35:23Z longshi joined #lisp 2020-01-27T13:35:30Z oxum quit (Remote host closed the connection) 2020-01-27T13:36:05Z oxum joined #lisp 2020-01-27T13:37:38Z oxum_ quit (Ping timeout: 240 seconds) 2020-01-27T13:50:19Z oxum quit (Remote host closed the connection) 2020-01-27T13:50:55Z krid joined #lisp 2020-01-27T13:52:34Z boeg: is there a way to make a let binding where i can refer to the binding itself inside it? So something like `(let ((my-binding (lambda () (format "my binding: ~a" my-binding)))))` ? I can do `(let ((my-binding nil)) (setf my-binding (lambda () (format t "my-binding: ~a" my-binding))))` but if there was a way around it, it would be super cool 2020-01-27T13:53:59Z EvW joined #lisp 2020-01-27T13:54:06Z montaropdf: let* 2020-01-27T13:54:08Z ggole: For lambdas, see labels 2020-01-27T13:54:09Z Duuqnd quit (Ping timeout: 272 seconds) 2020-01-27T13:54:09Z jfb4_ joined #lisp 2020-01-27T13:54:59Z jfb4 quit (Ping timeout: 268 seconds) 2020-01-27T13:55:08Z glv quit (Quit: Leaving) 2020-01-27T13:56:15Z ggole: let* makes each binding available in the successive bindings, rather than available in all of them 2020-01-27T13:57:07Z montaropdf: ggole: true, I forgot that "little" detail :/ 2020-01-27T13:57:22Z ggole: eg, (let* ((x ) (y )) ) => (let ((x )) (let ((y )) 2020-01-27T20:33:42Z whiteline joined #lisp 2020-01-27T20:33:50Z pnp: while when i use defun i get the symbol that names the function 2020-01-27T20:34:09Z slyrus__ joined #lisp 2020-01-27T20:34:31Z no-defun-allowed: The difference in how the functions are printed is probably implementation dependent. 2020-01-27T20:34:37Z Xach: pnp: that doesn't seem likely to me! symbol-function does not normally return a symbol. 2020-01-27T20:35:03Z no-defun-allowed: SBCL uses a SB-INT:NAMED-LAMBDA (iirc) to give a function a name. 2020-01-27T20:35:15Z jackdaniel: functions doesn't have names 2020-01-27T20:35:50Z Xach: jackdaniel: that seems like an extreme position 2020-01-27T20:35:58Z jackdaniel: it is just a convenient lie told by the implementation 2020-01-27T20:36:06Z Xach: jackdaniel: and by the spec 2020-01-27T20:36:41Z Xach: I think it is too angel-pin-head-dancy to be practically useful 2020-01-27T20:36:43Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-27T20:37:48Z pnp: I mean that i get back an anonymous function 2020-01-27T20:38:02Z Xach: pnp: what prompts this interesting exercise in not using defun? 2020-01-27T20:38:03Z jackdaniel: I think that it is useful because then it is easier to understand cases like this particular one 2020-01-27T20:38:11Z pnp: while if i do (symbol-function 'car) i get # 2020-01-27T20:38:34Z pnp: what i have to do to have a similar behavior? 2020-01-27T20:38:36Z Xach: jackdaniel: i think it's more useful to describe it as a one-way mapping (when limiting yourself to the standard) 2020-01-27T20:39:17Z Xach: a symbol that names a function can be used to find the function, but the function does not necessarily know that name. 2020-01-27T20:39:58Z milanj joined #lisp 2020-01-27T20:40:01Z pnp: so what i have to do? 2020-01-27T20:40:37Z Xach: I don't know, sorry. I'm still curious about the context. 2020-01-27T20:40:56Z cl-arthur: pnp: you can macroexpand a defun to see what other work it might be doing behind the scenes, and compare that with what you're doing. 2020-01-27T20:40:57Z pnp: i would like to have # print out in the repl 2020-01-27T20:41:06Z jackdaniel: to me it is easier to think: there are bindings between symbols and functions, like there are bindings between symbols and values 2020-01-27T20:41:07Z Xach: pnp: why? 2020-01-27T20:42:13Z random-nick joined #lisp 2020-01-27T20:43:07Z jackdaniel: but I concede there is such term in a glossary, `function name' is a name of a function in a particular environment 2020-01-27T20:43:40Z pnp: yes of course 2020-01-27T20:43:56Z pnp: i've tryied (fbounfd 'add2) and i get back T 2020-01-27T20:44:35Z slyrus_ joined #lisp 2020-01-27T20:44:57Z amerlyq quit (Quit: amerlyq) 2020-01-27T20:46:14Z pnp: so why there is this different behavior? 2020-01-27T20:47:21Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-27T20:48:39Z jackdaniel: pnp: try (setf (fdefinition 'yyy) #'list) 2020-01-27T20:48:43Z jackdaniel: and #'yyy ;) 2020-01-27T20:50:31Z jackdaniel: pnp: if you really really want to have it in the printer, you may specilize print-object with eql on your function 2020-01-27T20:50:34Z pnp: ok... 2020-01-27T20:50:53Z random-nick quit (Ping timeout: 272 seconds) 2020-01-27T20:50:59Z cl-arthur: pnp: Implementation dependent presentation. You can see what a defun does by invoking (macroexpand-1 '(defun add2 (x) (+ 2 x)). 2020-01-27T20:51:15Z jackdaniel: or use defgeneric, generic functions have name slots according to the spec 2020-01-27T20:51:56Z cl-arthur: pnp: For SBCL, it a defun uses SB-INT:NAMED-LAMBDA, not lambda. (And named-lambdas obviously have a name associated with them, unlike lambdas.) 2020-01-27T20:52:09Z pnp: Thank you a lot jackdaniel ... now i jackdaniel some time to read about 2020-01-27T20:52:52Z pnp: ops, sorry for the repetion... i need time. Thank you again 2020-01-27T20:53:06Z jackdaniel: I think that answering the question about the reason why you want that would be polite given you were asked about it 2020-01-27T20:55:39Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-27T20:55:43Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-27T20:56:15Z random-nick joined #lisp 2020-01-27T20:56:16Z pnp: because i would like to have the same output 2020-01-27T20:56:31Z jackdaniel: why you don't want to use defun? 2020-01-27T20:58:08Z oxum joined #lisp 2020-01-27T20:58:12Z pnp: i was trying to think about how defun was made 2020-01-27T20:58:57Z cl-arthur: macroexpand is your friend for how in-built macros are made :) 2020-01-27T20:59:40Z pnp: ok... i will try, thank you 2020-01-27T21:00:51Z Nilby joined #lisp 2020-01-27T21:01:05Z pjb: pnp: (defmacro defun (name (&rest lambda-list) &body dsbody) (multiple-value-bind (decs docs body) (parse-body :lambda body) `(progn (eval-when (:compile-toplevel) (system:declare-function name)) (eval-when (:load-toplevel :execute) (setf (fdefinition name) (lambda ,lambda-list decs (block ,(if (listp name) (second name) name) ,@body))))))) 2020-01-27T21:01:12Z pjb: basically. 2020-01-27T21:01:23Z pjb: An implementation can of course do it differently. 2020-01-27T21:02:19Z pjb: It may add a (when docs (setf (documentation name 'function) (first docs))) in there… 2020-01-27T21:04:52Z statusf90 joined #lisp 2020-01-27T21:08:03Z william1_ quit (Ping timeout: 260 seconds) 2020-01-27T21:08:56Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-27T21:10:14Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-27T21:10:42Z pnp: Thank you all 2020-01-27T21:11:34Z pfdietz: The sb-kernel build failure in hu.dwim has been patched. There's another failure there though. 2020-01-27T21:12:36Z pnp left #lisp 2020-01-27T21:13:36Z slyrus__ joined #lisp 2020-01-27T21:14:54Z vms14 joined #lisp 2020-01-27T21:16:31Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-27T21:19:17Z emphazizer joined #lisp 2020-01-27T21:23:38Z X-Scale quit (Ping timeout: 240 seconds) 2020-01-27T21:25:15Z Xach: pfdietz: patcheed on which end? 2020-01-27T21:26:48Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-27T21:28:54Z orivej joined #lisp 2020-01-27T21:29:51Z X-Scale joined #lisp 2020-01-27T21:31:08Z oxum quit (Ping timeout: 268 seconds) 2020-01-27T21:31:43Z glick joined #lisp 2020-01-27T21:37:20Z jfb4_ joined #lisp 2020-01-27T21:37:33Z pfdietz: It's passing in report.quicklisp.org as of today. 2020-01-27T21:37:50Z Xach: hmm 2020-01-27T21:39:08Z pfdietz: So the guy I sent the patch to (Attila Lendvai) must have put it in the darcs repository. 2020-01-27T21:39:21Z jfb4 quit (Ping timeout: 265 seconds) 2020-01-27T21:43:33Z Codaraxis joined #lisp 2020-01-27T21:45:04Z Xach: chanl is an issue 2020-01-27T21:45:35Z funnel_ joined #lisp 2020-01-27T21:46:36Z funnel quit (Ping timeout: 265 seconds) 2020-01-27T21:46:38Z funnel_ is now known as funnel 2020-01-27T21:47:45Z EvW joined #lisp 2020-01-27T21:49:38Z random-nick quit (Ping timeout: 268 seconds) 2020-01-27T21:49:46Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Like it? Visit #hydrairc on EFNet) 2020-01-27T21:51:09Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-27T21:51:19Z jfb4 joined #lisp 2020-01-27T21:53:36Z slyrus_ joined #lisp 2020-01-27T21:55:34Z emphazizer quit (Quit: Leaving) 2020-01-27T21:56:36Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-27T21:57:57Z statusf90 quit (Quit: statusf90) 2020-01-27T21:59:37Z krid joined #lisp 2020-01-27T22:04:53Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-27T22:08:53Z cl-arthur joined #lisp 2020-01-27T22:09:53Z asdf_asdf_asdf32 joined #lisp 2020-01-27T22:10:09Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-27T22:10:45Z emphazizer joined #lisp 2020-01-27T22:10:58Z asdf_asdf_asdf32 is now known as asdf_asd_asdf 2020-01-27T22:18:19Z davepdotorg joined #lisp 2020-01-27T22:21:56Z EvW quit (Ping timeout: 248 seconds) 2020-01-27T22:22:50Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-27T22:24:56Z EvW joined #lisp 2020-01-27T22:27:48Z oxum joined #lisp 2020-01-27T22:30:18Z jfb4_ joined #lisp 2020-01-27T22:31:35Z jfb4 quit (Ping timeout: 272 seconds) 2020-01-27T22:36:16Z jfb4 joined #lisp 2020-01-27T22:36:23Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-27T22:38:38Z adamantium quit (Ping timeout: 245 seconds) 2020-01-27T22:42:33Z cl-arthur quit (Quit: Lost terminal) 2020-01-27T22:47:55Z shifty joined #lisp 2020-01-27T22:55:59Z izh_ joined #lisp 2020-01-27T22:56:01Z m_v_m joined #lisp 2020-01-27T22:56:14Z retropikzel quit (Ping timeout: 268 seconds) 2020-01-27T22:57:08Z Codaraxis quit (Ping timeout: 248 seconds) 2020-01-27T23:00:13Z Bike quit (Quit: Bike) 2020-01-27T23:00:46Z m_v_m quit (Remote host closed the connection) 2020-01-27T23:01:21Z oxum quit (Ping timeout: 268 seconds) 2020-01-27T23:04:37Z varjag quit (Ping timeout: 265 seconds) 2020-01-27T23:10:54Z karswell joined #lisp 2020-01-27T23:12:31Z LiamH quit (Quit: Leaving.) 2020-01-27T23:13:21Z izh_ quit (Quit: Leaving) 2020-01-27T23:14:15Z jfb4_ joined #lisp 2020-01-27T23:14:50Z jfb4 quit (Ping timeout: 240 seconds) 2020-01-27T23:16:37Z Ven`` joined #lisp 2020-01-27T23:16:50Z smazga quit (Ping timeout: 240 seconds) 2020-01-27T23:17:17Z whiteline quit (Remote host closed the connection) 2020-01-27T23:18:01Z whiteline joined #lisp 2020-01-27T23:19:47Z whiteline quit (Remote host closed the connection) 2020-01-27T23:20:38Z whiteline joined #lisp 2020-01-27T23:28:45Z jfb4 joined #lisp 2020-01-27T23:28:48Z gnufr33d0m joined #lisp 2020-01-27T23:29:49Z fengshaun_ is now known as fengshaun 2020-01-27T23:30:14Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-27T23:31:00Z zcid quit (Remote host closed the connection) 2020-01-27T23:31:52Z EvW quit (Ping timeout: 260 seconds) 2020-01-27T23:31:53Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-27T23:38:42Z Bike joined #lisp 2020-01-27T23:44:04Z cosimone_ joined #lisp 2020-01-27T23:45:08Z cosimone quit (Ping timeout: 248 seconds) 2020-01-27T23:45:14Z smazga joined #lisp 2020-01-27T23:45:47Z Oladon joined #lisp 2020-01-27T23:45:59Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-27T23:49:53Z smazga quit (Ping timeout: 268 seconds) 2020-01-27T23:51:36Z slyrus__ joined #lisp 2020-01-27T23:54:18Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-27T23:55:47Z cosimone_ quit (Read error: Connection reset by peer) 2020-01-27T23:56:06Z cosimone_ joined #lisp 2020-01-27T23:57:05Z EvW joined #lisp 2020-01-27T23:57:50Z cosimone_ quit (Client Quit) 2020-01-27T23:58:09Z ebzzry joined #lisp 2020-01-27T23:58:18Z oxum joined #lisp 2020-01-28T00:01:51Z kmeow joined #lisp 2020-01-28T00:05:24Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-28T00:08:26Z Lord_of_Life_ joined #lisp 2020-01-28T00:11:48Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-28T00:11:50Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-28T00:13:15Z whiteline quit (Remote host closed the connection) 2020-01-28T00:13:56Z whiteline joined #lisp 2020-01-28T00:14:42Z whiteline quit (Remote host closed the connection) 2020-01-28T00:15:37Z whiteline joined #lisp 2020-01-28T00:19:49Z davepdotorg joined #lisp 2020-01-28T00:24:25Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-28T00:24:35Z Codaraxis joined #lisp 2020-01-28T00:28:26Z gigetoo quit (Ping timeout: 240 seconds) 2020-01-28T00:28:29Z davr0s_ quit (Remote host closed the connection) 2020-01-28T00:31:17Z oxum quit (Ping timeout: 272 seconds) 2020-01-28T00:31:28Z gigetoo joined #lisp 2020-01-28T00:31:44Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-28T00:35:39Z |3b|: is there anything like f2cl for f90? 2020-01-28T00:37:34Z LdBeth: Nope, f90’s OOP is tricky to implement 2020-01-28T00:39:00Z LdBeth: But is there any reason you cannot call FORTRAN functions via CFFI? 2020-01-28T00:39:16Z aeth: f2cl isn't good, anyway. Last I checked, it disassembles horribly in SBCL, so even though SBCL is passable in numeric code, you don't even get max-SBCL-performance. 2020-01-28T00:39:24Z |3b| isn't sure i have a fortran compiler (and don't want to require others to have one) 2020-01-28T00:40:27Z LdBeth: GNU’s FORTRAN compiler get reasonable performance, and it is free 2020-01-28T00:40:31Z |3b|: aeth: well, faster sooner than it would be if i tried to read the fortran code to translate it manually :p 2020-01-28T00:41:07Z |3b|: LdBeth: yeah, but requiring a fortran compiler and ffi just because i'm too lazy to translate 1 function manually seems a bit much :p 2020-01-28T00:41:58Z |3b|: at least the f90 code seems more readable than the f77 code i already translated with f2cl, so manual translation might not be too bad 2020-01-28T00:42:11Z aeth: |3b|: I mean, idk, you could probably compile Fortran to faster SBCl than f2cl produces just because you know how to write optimal SBCL. Of course, it would have the disadvantage that it isn't written yet. 2020-01-28T00:42:46Z |3b|: right, eventually i'll probably rewrite it, but f2cl output is still easier for me to read than actual fortran :) 2020-01-28T00:43:24Z LdBeth: If it one function, I think you could look for direct solutions in Common Lisp 2020-01-28T00:43:53Z |3b|: anyone have TOMS 954 in CL? :) 2020-01-28T00:44:05Z |3b|: and/or 493 2020-01-28T00:44:42Z |3b|: (real polynomial zero finders, degree 2-4 and arbitrary degree respectively) 2020-01-28T00:47:07Z turona quit (Ping timeout: 272 seconds) 2020-01-28T00:48:10Z turona joined #lisp 2020-01-28T00:48:14Z kmeow quit (Remote host closed the connection) 2020-01-28T00:49:48Z LdBeth: I think maxima can do this, and it’s fairly easy to call maxima functions in CL 2020-01-28T00:50:20Z |3b|: thousands of times per frame? (and 100+ of frames per second) 2020-01-28T00:51:07Z |3b|: though might be worth looking at it anyway, more things to compare 2020-01-28T00:52:24Z LdBeth: I think you cannot get the performance even close to, for example GNU FORTRAN, if written in SBCL 2020-01-28T00:52:42Z aeth: LdBeth: should be about twice as slow 2020-01-28T00:52:48Z aeth: LdBeth: but... you can write ASM 2020-01-28T00:53:32Z LdBeth: If performance is crucial to you, do use external libraries 2020-01-28T00:53:37Z aeth: idk about TOMS but a BLAS+LAPACK approach in CL could easily have an asm code path for the BLAS, at least in SBCL on major architectures. 2020-01-28T00:53:59Z |3b|: ah, maxima is GPL, so that won't help me 2020-01-28T00:54:38Z |3b|: performance is important, but convenience of not dealing with ffi and fortran probably outweighs it for this 2020-01-28T00:54:42Z LdBeth: The original MacLisp Macsyma is in public domain though ;) 2020-01-28T00:54:54Z |3b|: and not sure i want those particular algorithms yet anyway :) 2020-01-28T00:55:01Z |3b|: ah, will check that then 2020-01-28T00:56:19Z LdBeth: Still, that won’t give very respectable performance 2020-01-28T00:57:22Z patrixl joined #lisp 2020-01-28T00:57:43Z z147 quit (Ping timeout: 240 seconds) 2020-01-28T00:58:57Z Khisanth quit (Ping timeout: 268 seconds) 2020-01-28T00:59:18Z clothespin joined #lisp 2020-01-28T01:05:37Z |3b| will just translate the f90 code manually for now, maybe try ffi for performance comparison if compiler isn't too hard to install, though probably won't use ffi for final thing either way 2020-01-28T01:06:02Z gioyik quit (Ping timeout: 240 seconds) 2020-01-28T01:10:40Z Odin- quit (Ping timeout: 268 seconds) 2020-01-28T01:11:40Z Khisanth joined #lisp 2020-01-28T01:17:04Z emphazizer quit (Quit: Leaving) 2020-01-28T01:22:37Z brettgilio joined #lisp 2020-01-28T01:27:32Z EvW quit (Ping timeout: 248 seconds) 2020-01-28T01:28:05Z oxum joined #lisp 2020-01-28T01:28:39Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-01-28T01:28:40Z __jrjsmrtn__ joined #lisp 2020-01-28T01:30:05Z gnufr33d0m joined #lisp 2020-01-28T01:33:44Z vms14 quit (Remote host closed the connection) 2020-01-28T01:36:33Z oxum quit (Remote host closed the connection) 2020-01-28T01:36:58Z oxum joined #lisp 2020-01-28T01:37:01Z asarch joined #lisp 2020-01-28T01:37:27Z asarch: ただいま!!! :-) 2020-01-28T01:37:51Z patrixl: お帰りなさい! 2020-01-28T01:40:39Z zulu-inuoe joined #lisp 2020-01-28T01:42:21Z zulu-inuoe: Does anyone happen to have contact details for https://github.com/sergadin ? 2020-01-28T01:42:42Z brettgilio quit (Read error: Connection reset by peer) 2020-01-28T01:42:59Z brettgilio joined #lisp 2020-01-28T01:44:15Z lnostdal joined #lisp 2020-01-28T01:46:39Z Codaraxis quit (Read error: Connection reset by peer) 2020-01-28T01:47:54Z Nilby quit (Read error: Connection reset by peer) 2020-01-28T01:48:29Z Nilby joined #lisp 2020-01-28T01:50:45Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-28T01:51:12Z gnufr33d0m quit (Quit: gnufr33d0m) 2020-01-28T01:53:37Z Nilby quit (Read error: Connection reset by peer) 2020-01-28T01:55:06Z gnufr33d0m joined #lisp 2020-01-28T01:56:22Z gnufr33d0m quit (Remote host closed the connection) 2020-01-28T02:01:15Z gko_ joined #lisp 2020-01-28T02:05:01Z brettgilio quit (Ping timeout: 272 seconds) 2020-01-28T02:07:49Z milanj quit (Quit: This computer has gone to sleep) 2020-01-28T02:17:02Z torbo joined #lisp 2020-01-28T02:20:29Z davepdotorg joined #lisp 2020-01-28T02:21:27Z Oladon quit (Quit: Leaving.) 2020-01-28T02:25:29Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-28T02:33:22Z oni-on-ion: konban wa minna san, genki sou shitai 2020-01-28T02:38:14Z lavaflow quit (Ping timeout: 268 seconds) 2020-01-28T02:39:45Z lavaflow joined #lisp 2020-01-28T02:41:05Z slyrus_ joined #lisp 2020-01-28T02:44:24Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-28T02:45:19Z asdf_asd_asdf quit (Remote host closed the connection) 2020-01-28T02:51:24Z dddddd quit (Remote host closed the connection) 2020-01-28T03:00:44Z varjag joined #lisp 2020-01-28T03:05:33Z varjag quit (Ping timeout: 268 seconds) 2020-01-28T03:10:53Z ebzzry joined #lisp 2020-01-28T03:11:59Z EvW1 joined #lisp 2020-01-28T03:19:11Z adamantium joined #lisp 2020-01-28T03:22:11Z asdf_asdf_asdf joined #lisp 2020-01-28T03:27:20Z igemnace joined #lisp 2020-01-28T03:29:04Z jfb4_ joined #lisp 2020-01-28T03:29:58Z jfb4 quit (Ping timeout: 265 seconds) 2020-01-28T03:30:09Z adamantium quit (Remote host closed the connection) 2020-01-28T03:37:04Z Nilby joined #lisp 2020-01-28T03:42:10Z space_otter joined #lisp 2020-01-28T03:46:09Z Codaraxis joined #lisp 2020-01-28T03:53:55Z kmeow joined #lisp 2020-01-28T03:55:05Z adolby quit (Remote host closed the connection) 2020-01-28T03:55:17Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-28T03:55:56Z orivej quit (Ping timeout: 268 seconds) 2020-01-28T03:56:20Z adolby joined #lisp 2020-01-28T04:00:07Z orivej joined #lisp 2020-01-28T04:14:13Z EvW1 quit (Ping timeout: 272 seconds) 2020-01-28T04:17:46Z gabiruh quit (Quit: ZNC - 1.6.0 - http://znc.in) 2020-01-28T04:18:06Z gabiruh joined #lisp 2020-01-28T04:18:16Z gioyik joined #lisp 2020-01-28T04:21:24Z davepdotorg joined #lisp 2020-01-28T04:26:31Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-28T04:30:06Z Bike quit (Quit: Lost terminal) 2020-01-28T04:31:02Z shangul joined #lisp 2020-01-28T04:36:57Z Oladon joined #lisp 2020-01-28T04:37:18Z torbo quit (Remote host closed the connection) 2020-01-28T04:39:08Z gravicappa joined #lisp 2020-01-28T04:39:48Z zmt00 joined #lisp 2020-01-28T04:41:18Z shangul quit (Ping timeout: 260 seconds) 2020-01-28T04:42:47Z zmt01 quit (Ping timeout: 260 seconds) 2020-01-28T05:05:48Z krid quit (Ping timeout: 268 seconds) 2020-01-28T05:12:26Z ebzzry quit (Read error: Connection reset by peer) 2020-01-28T05:14:22Z smazga joined #lisp 2020-01-28T05:17:40Z davepdotorg joined #lisp 2020-01-28T05:19:00Z smazga quit (Ping timeout: 265 seconds) 2020-01-28T05:19:32Z ggole joined #lisp 2020-01-28T05:22:27Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-28T05:32:05Z narimiran joined #lisp 2020-01-28T05:33:36Z oxum quit (Remote host closed the connection) 2020-01-28T05:34:41Z ebzzry joined #lisp 2020-01-28T05:37:40Z oni-on-ion quit (Ping timeout: 248 seconds) 2020-01-28T05:38:42Z lemoinem is now known as Guest16080 2020-01-28T05:38:42Z Guest16080 quit (Killed (livingstone.freenode.net (Nickname regained by services))) 2020-01-28T05:38:44Z lemoinem joined #lisp 2020-01-28T05:48:54Z asarch quit (Quit: Leaving) 2020-01-28T05:51:14Z oxum joined #lisp 2020-01-28T05:52:50Z brown121407 quit (Ping timeout: 240 seconds) 2020-01-28T05:54:48Z brown121408 joined #lisp 2020-01-28T05:57:12Z oxum quit (Remote host closed the connection) 2020-01-28T05:57:45Z oxum joined #lisp 2020-01-28T05:57:54Z gioyik quit (Quit: WeeChat 2.7) 2020-01-28T06:01:49Z FreeBirdLjj joined #lisp 2020-01-28T06:09:01Z oxum quit (Remote host closed the connection) 2020-01-28T06:10:23Z oxum joined #lisp 2020-01-28T06:13:10Z beach: Good morning everyone! 2020-01-28T06:16:53Z varjag joined #lisp 2020-01-28T06:29:52Z Josh_2: Morning beach 2020-01-28T06:31:48Z vlatkoB joined #lisp 2020-01-28T06:33:01Z karlosz joined #lisp 2020-01-28T06:33:28Z patrixl: morning beach! 2020-01-28T06:33:42Z sauvin joined #lisp 2020-01-28T06:46:01Z shka_ quit (Quit: Konversation terminated!) 2020-01-28T06:46:19Z shka_ joined #lisp 2020-01-28T06:49:13Z georgiePorgie joined #lisp 2020-01-28T06:52:34Z phlim quit (Quit: WeeChat 2.4) 2020-01-28T06:55:33Z frgo quit (Remote host closed the connection) 2020-01-28T07:04:06Z milanj joined #lisp 2020-01-28T07:06:28Z JohnMS_WORK joined #lisp 2020-01-28T07:06:28Z JohnMS_WORK quit (Client Quit) 2020-01-28T07:06:43Z JohnMS_WORK joined #lisp 2020-01-28T07:08:05Z Oladon quit (Quit: Leaving.) 2020-01-28T07:10:55Z kmeow quit (Remote host closed the connection) 2020-01-28T07:20:52Z ggole quit (Remote host closed the connection) 2020-01-28T07:21:14Z ggole joined #lisp 2020-01-28T07:22:05Z Cymew joined #lisp 2020-01-28T07:23:30Z oxum_ joined #lisp 2020-01-28T07:23:39Z oxum quit (Read error: Connection reset by peer) 2020-01-28T07:26:08Z oxum_ quit (Read error: Connection reset by peer) 2020-01-28T07:26:24Z oxum joined #lisp 2020-01-28T07:26:39Z Duuqnd joined #lisp 2020-01-28T07:29:54Z flamebeard joined #lisp 2020-01-28T07:31:09Z oxum quit (Read error: Connection reset by peer) 2020-01-28T07:31:28Z oxum joined #lisp 2020-01-28T07:33:00Z hiroaki quit (Ping timeout: 268 seconds) 2020-01-28T07:33:33Z X-Scale joined #lisp 2020-01-28T07:35:00Z DrStephenFalken joined #lisp 2020-01-28T07:42:23Z frgo joined #lisp 2020-01-28T07:45:39Z jprajzne joined #lisp 2020-01-28T07:47:23Z frgo quit (Ping timeout: 265 seconds) 2020-01-28T07:48:58Z boeg: morning 2020-01-28T07:49:30Z beach: Hello boeg. 2020-01-28T07:49:59Z orivej quit (Read error: Connection reset by peer) 2020-01-28T07:50:17Z orivej joined #lisp 2020-01-28T07:58:00Z dale quit (Quit: My computer has gone to sleep) 2020-01-28T08:00:52Z fe[nl]ix quit (Remote host closed the connection) 2020-01-28T08:00:52Z Blkt quit (Read error: Connection reset by peer) 2020-01-28T08:01:06Z Blkt joined #lisp 2020-01-28T08:01:07Z fe[nl]ix joined #lisp 2020-01-28T08:01:07Z ChanServ has set mode +o fe[nl]ix 2020-01-28T08:02:55Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-28T08:03:23Z kamog joined #lisp 2020-01-28T08:06:11Z karlosz quit (Quit: karlosz) 2020-01-28T08:19:31Z DrStephenFalken quit (Ping timeout: 260 seconds) 2020-01-28T08:24:26Z vlatkoB_ joined #lisp 2020-01-28T08:27:14Z montaropdf joined #lisp 2020-01-28T08:28:11Z vlatkoB quit (Ping timeout: 272 seconds) 2020-01-28T08:32:32Z nika_ joined #lisp 2020-01-28T08:43:27Z adam4567 joined #lisp 2020-01-28T08:46:02Z sveit quit (Ping timeout: 260 seconds) 2020-01-28T08:46:14Z sveit_ joined #lisp 2020-01-28T08:49:44Z z147 joined #lisp 2020-01-28T09:00:59Z lxbarbosa joined #lisp 2020-01-28T09:06:29Z ljavorsk__ joined #lisp 2020-01-28T09:12:17Z frgo joined #lisp 2020-01-28T09:14:52Z smazga joined #lisp 2020-01-28T09:18:01Z frgo quit (Ping timeout: 268 seconds) 2020-01-28T09:19:33Z smazga quit (Ping timeout: 260 seconds) 2020-01-28T09:21:39Z frgo joined #lisp 2020-01-28T09:29:12Z davepdotorg joined #lisp 2020-01-28T09:31:36Z redeemed joined #lisp 2020-01-28T09:38:45Z hhdave joined #lisp 2020-01-28T09:38:46Z madrik joined #lisp 2020-01-28T09:40:35Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-28T09:40:57Z DGASAU joined #lisp 2020-01-28T09:45:45Z hhdave quit (Quit: hhdave) 2020-01-28T09:49:18Z milanj quit (Ping timeout: 260 seconds) 2020-01-28T09:57:16Z shrdlu68 joined #lisp 2020-01-28T09:58:56Z shrdlu68: Hello #lisp! What code formatters do you guys use for CL, if any? Something like python-black for python. 2020-01-28T10:02:19Z adam4567: I haven't got one for my Emacs at present. Someone said Helm helps for Lisp in Emacs. I don't know. 2020-01-28T10:02:20Z beach: What kind of formatting are we talking about here? I use Emacs + SLIME with the slime-indentation contribution. Is that not working for you? 2020-01-28T10:02:44Z davepdotorg quit (Quit: Leaving...) 2020-01-28T10:03:15Z adam4567: OK, an add-on for Slime. That's an idea. 2020-01-28T10:04:01Z beach: It is a contribution, already in SLIME. It just needs to be configured. 2020-01-28T10:04:27Z beach: Even without it, SLIME works OK, but with it, LOOP clauses get indented correctly as well. 2020-01-28T10:04:48Z shrdlu68: beach: It does, but isn't quite like black. For example, if I come across some badly indented code with superfluous white space, how can I automatically reformat it 2020-01-28T10:05:04Z frgo quit (Remote host closed the connection) 2020-01-28T10:06:06Z shka__ joined #lisp 2020-01-28T10:06:19Z beach: I see. Yes, with SLIME whitespace is not altered other than at the beginning of lines. 2020-01-28T10:06:45Z shrdlu68: Also automatic folding when line-length exceeds n columns. Black is also often used as a pre-commit hook to standardize code when working in a team. 2020-01-28T10:07:14Z adamantium joined #lisp 2020-01-28T10:08:02Z beach: That sounds bad for Common Lisp though. You can't break a line just anywhere. 2020-01-28T10:08:14Z hhdave joined #lisp 2020-01-28T10:09:07Z beach: And some people line up things like values of keyword arguments, even when that means multiple spaces between the keyword and the value. 2020-01-28T10:10:35Z shrdlu68: Yeah, it needs to be done with some sophistication. It would just be nice to write code and watch it automatically format itslelf to some defined (customizable?) standard. 2020-01-28T10:10:43Z space_otter quit (Remote host closed the connection) 2020-01-28T10:10:48Z sgithens quit 2020-01-28T10:11:02Z sgithens joined #lisp 2020-01-28T10:11:38Z frgo joined #lisp 2020-01-28T10:12:13Z jackdaniel: automatic indent (even limited as in slime) is wonderful except when you want to have different indent - then it is horrible -- it reindents your forms even when you don't want to 2020-01-28T10:12:35Z jackdaniel: add to that indentation bug in (say) slime, and it becomes infuriating 2020-01-28T10:12:53Z jackdaniel: like auxiliary method qualifiers in :method clause for defgeneric. 2020-01-28T10:12:58Z frgo quit (Read error: Connection reset by peer) 2020-01-28T10:13:04Z bjorkintosh quit (Ping timeout: 265 seconds) 2020-01-28T10:13:10Z frgo joined #lisp 2020-01-28T10:13:23Z bjorkintosh joined #lisp 2020-01-28T10:13:31Z tiwEllien joined #lisp 2020-01-28T10:13:49Z no-defun-allowed: It was a bit of a hassle to test out "squished" make-instance where the keywords are indented with make-instance (across multiple lines) rather than the class name. 2020-01-28T10:14:01Z beach: SLIME definitely has problems with some indentation. 2020-01-28T10:14:37Z shrdlu68: jackdaniel: Sounds to me like all these are heuristics that could be added to a formatter :) 2020-01-28T10:14:55Z no-defun-allowed: &body in a macrolet also didn't come out quite right; the arguments before the body weren't indented further right than the body. 2020-01-28T10:15:43Z adamantium quit (Remote host closed the connection) 2020-01-28T10:16:13Z shrdlu68: If python could do it, surely lisp can, being homoiconic and all. 2020-01-28T10:16:14Z jackdaniel: shrdlu68: some situations will always be ambigous or information is simply not available for the formatter, then manual indentation works best. unless formatter consistently "corrects" you 2020-01-28T10:16:25Z Nilby: I don't suppose anyone knows how to trick the pretty-printer into being in indenter? 2020-01-28T10:16:53Z no-defun-allowed: (Though the code from whence the problematic indentation appeared in was already hideous, so I can't really complain.) 2020-01-28T10:17:24Z jackdaniel: "one size *does not* fit all" 2020-01-28T10:18:16Z milanj joined #lisp 2020-01-28T10:18:33Z adamantium joined #lisp 2020-01-28T10:19:08Z shrdlu68: jackdaniel: You could tell it to ignore a certain region...Admittedly it would be pretty horrible at first, but several issues and PRs later I expect most edge cases would be covered. 2020-01-28T10:20:30Z shangul joined #lisp 2020-01-28T10:20:48Z no-defun-allowed: I wonder how that would play with user-defined reader macros. 2020-01-28T10:21:34Z jackdaniel: shrdlu68: I'm generally satisfied with slime indentation and I use it 2020-01-28T10:21:58Z jackdaniel: I'm just saying that it is not a perfect solution (and that there can't be one in general case) 2020-01-28T10:22:41Z no-defun-allowed: Those are not very common, but I wrote a reader macro which would read a DSL expression like #{ let baz = foo(bar) in quux(baz) }# and parse it using the DSL's parser, which would throw off an automatic formatter. 2020-01-28T10:22:45Z jackdaniel: and while manually indenting code is mundane it is certainly not bad, I'm thinking slower than typing anyway, so it wouldn't drag me 2020-01-28T10:25:36Z adamantium quit (Remote host closed the connection) 2020-01-28T10:29:09Z cosimone joined #lisp 2020-01-28T10:30:45Z jbgg joined #lisp 2020-01-28T10:32:31Z Duuqnd: What different systems for code completion are there for CL? I've been using company-mode with slime-company, but I'm wondering what other people use. 2020-01-28T10:33:22Z Shinmera: Just regular 'ole slime 2020-01-28T10:33:39Z Shinmera: I believe there's an AutoComplete plugin, too. 2020-01-28T10:34:44Z Duuqnd: Shinmera: How does autocomplete work with regular SLIME? I've seen it on the REPL, but does it work the same when editing a source code buffer? 2020-01-28T10:36:11Z Shinmera: I forget, but there's a key to open a completions buffer. 2020-01-28T10:36:56Z no-defun-allowed: M-Tab, or ESC Tab if the former changes focus in your environment. 2020-01-28T10:37:52Z Duuqnd: Thanks. 2020-01-28T10:39:38Z karswell quit (Ping timeout: 240 seconds) 2020-01-28T10:41:25Z jmercouris joined #lisp 2020-01-28T10:46:00Z DGASAU quit (Read error: Connection reset by peer) 2020-01-28T10:46:16Z DGASAU joined #lisp 2020-01-28T10:52:21Z frgo quit (Remote host closed the connection) 2020-01-28T10:52:57Z frgo joined #lisp 2020-01-28T10:57:40Z frgo quit (Ping timeout: 248 seconds) 2020-01-28T10:58:15Z FreeBirdLjj joined #lisp 2020-01-28T11:02:51Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-28T11:03:08Z ljavorsk__ quit (Ping timeout: 265 seconds) 2020-01-28T11:04:54Z glick left #lisp 2020-01-28T11:06:27Z brown121408 quit (Read error: Connection reset by peer) 2020-01-28T11:07:07Z brown121408 joined #lisp 2020-01-28T11:09:50Z zaquest quit (Quit: Leaving) 2020-01-28T11:14:49Z v_m_v joined #lisp 2020-01-28T11:15:48Z davr0s quit (Ping timeout: 268 seconds) 2020-01-28T11:23:01Z frgo joined #lisp 2020-01-28T11:23:53Z frgo quit (Remote host closed the connection) 2020-01-28T11:24:08Z zaquest joined #lisp 2020-01-28T11:26:38Z adam4567 quit (Remote host closed the connection) 2020-01-28T11:28:58Z dddddd joined #lisp 2020-01-28T11:29:23Z gareppa joined #lisp 2020-01-28T11:30:09Z ljavorsk__ joined #lisp 2020-01-28T11:32:01Z v_m_v quit (Remote host closed the connection) 2020-01-28T11:35:26Z nika_ quit 2020-01-28T11:36:51Z gareppa quit (Remote host closed the connection) 2020-01-28T11:37:15Z p_l quit 2020-01-28T11:37:39Z p_l joined #lisp 2020-01-28T11:38:36Z v_m_v joined #lisp 2020-01-28T11:39:59Z m00natic joined #lisp 2020-01-28T11:41:31Z v88m quit (Ping timeout: 268 seconds) 2020-01-28T11:46:50Z william1_ joined #lisp 2020-01-28T11:47:53Z cosimone quit (Remote host closed the connection) 2020-01-28T11:48:29Z phlim joined #lisp 2020-01-28T11:50:57Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-28T11:53:57Z phlim quit (Quit: WeeChat 2.4) 2020-01-28T11:57:28Z william1_ quit (Ping timeout: 265 seconds) 2020-01-28T11:58:25Z frgo joined #lisp 2020-01-28T12:01:52Z Duuqnd quit (Quit: Leaving) 2020-01-28T12:02:59Z phlim joined #lisp 2020-01-28T12:03:38Z frgo quit (Ping timeout: 240 seconds) 2020-01-28T12:04:12Z jmercouris: can anyone help me with this problem: https://github.com/andy128k/cl-gobject-introspection/issues/74 ? 2020-01-28T12:04:29Z jgkfh joined #lisp 2020-01-28T12:07:01Z jackdaniel: it is not a cl problem but rather osx problem, please read on here https://stackoverflow.com/questions/19776571/error-dlopen-library-not-loaded-reason-image-not-found 2020-01-28T12:07:23Z jackdaniel: library is in an unexpected location (i.e different than it was build for) 2020-01-28T12:08:12Z jmercouris: jackdaniel: Yes, the location is different being prefixed as /opt, but, I can build WebKitGTK+ applications elsewhere 2020-01-28T12:08:21Z jmercouris: so I don't believe it is a problem with my installation 2020-01-28T12:08:39Z jackdaniel: I won't argue with your beliefs 2020-01-28T12:08:49Z jmercouris: ... 2020-01-28T12:09:54Z jackdaniel: I've just told you what is wrong; why it is wrong is a question dependent on your setup (and not much related to cl); I don't have answer what is wrong in your setup. 2020-01-28T12:10:06Z montaropdf quit (Ping timeout: 246 seconds) 2020-01-28T12:10:31Z jmercouris: I'll probe around with otool then... just in case 2020-01-28T12:10:52Z jmercouris: thanks 2020-01-28T12:11:29Z jackdaniel: sure 2020-01-28T12:11:39Z Lord_of_Life_ joined #lisp 2020-01-28T12:12:27Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-01-28T12:13:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-28T12:15:07Z amerlyq joined #lisp 2020-01-28T12:18:37Z pmden joined #lisp 2020-01-28T12:20:44Z milanj quit (Quit: This computer has gone to sleep) 2020-01-28T12:21:37Z montaropdf joined #lisp 2020-01-28T12:21:37Z igemnace quit (Quit: WeeChat 2.7) 2020-01-28T12:21:58Z FreeBirdLjj joined #lisp 2020-01-28T12:22:27Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-28T12:22:45Z Lord_of_Life joined #lisp 2020-01-28T12:28:50Z georgiePorgie joined #lisp 2020-01-28T12:33:51Z frgo joined #lisp 2020-01-28T12:34:58Z jmercouris quit (Ping timeout: 260 seconds) 2020-01-28T12:37:12Z lxbarbos` joined #lisp 2020-01-28T12:38:06Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-01-28T12:40:24Z vlatkoB_ quit (Read error: Connection reset by peer) 2020-01-28T12:41:12Z vlatkoB joined #lisp 2020-01-28T12:42:37Z ebrasca joined #lisp 2020-01-28T12:42:47Z frgo quit (Ping timeout: 272 seconds) 2020-01-28T12:48:22Z frgo joined #lisp 2020-01-28T12:48:36Z tiwEllien quit (Ping timeout: 248 seconds) 2020-01-28T12:52:05Z FreeBird_ joined #lisp 2020-01-28T12:52:26Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-28T12:56:03Z statusf90 joined #lisp 2020-01-28T12:56:28Z milanj joined #lisp 2020-01-28T12:58:42Z FreeBirdLjj joined #lisp 2020-01-28T12:59:44Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-28T13:00:47Z FreeBird_ quit (Ping timeout: 265 seconds) 2020-01-28T13:08:14Z statusf90 quit (Quit: statusf90) 2020-01-28T13:10:26Z v_m_v quit (Remote host closed the connection) 2020-01-28T13:11:15Z asdf_asdf_asdf joined #lisp 2020-01-28T13:14:36Z Nilby quit (Read error: Connection reset by peer) 2020-01-28T13:15:36Z jmercouris joined #lisp 2020-01-28T13:18:20Z jackdaniel: oh, today I've learned, that you may take literally only part of the symbol 2020-01-28T13:18:24Z jackdaniel: :foo|bam| 2020-01-28T13:18:30Z jackdaniel: :foo-|()| 2020-01-28T13:18:48Z jackdaniel: :a|b|c|d| 2020-01-28T13:19:30Z DrStephenFalken joined #lisp 2020-01-28T13:19:34Z jmercouris: interesting 2020-01-28T13:21:50Z shka__: this is standard? 2020-01-28T13:26:42Z lieven: yeah. one thing CL does slightly different than most languages is that \ retains its function in ||. so |foo\a| is the same as |fooa| 2020-01-28T13:27:31Z cosimone joined #lisp 2020-01-28T13:28:56Z jmercouris: double interesting 2020-01-28T13:29:15Z jmercouris: when might someone want to do :a|bana\a|? 2020-01-28T13:30:21Z lieven: outside obfuscated code contests I don't see much use 2020-01-28T13:30:50Z shka__: perhaps constructing symbols programaticly? 2020-01-28T13:30:58Z shka__: it is not a great idea anyway… 2020-01-28T13:31:04Z shka__: i mean, usually it is not 2020-01-28T13:31:58Z cosimone_ joined #lisp 2020-01-28T13:32:20Z cosimone quit (Ping timeout: 248 seconds) 2020-01-28T13:32:31Z shrdlu68 quit (Ping timeout: 268 seconds) 2020-01-28T13:32:35Z vlatkoB quit (Read error: Connection reset by peer) 2020-01-28T13:33:19Z vlatkoB joined #lisp 2020-01-28T13:37:50Z asarch joined #lisp 2020-01-28T13:42:21Z shangul quit (Ping timeout: 265 seconds) 2020-01-28T13:44:42Z lucasb joined #lisp 2020-01-28T13:47:20Z p_l notes that symbols used to be used for more than just "programming" symbols 2020-01-28T13:49:09Z Bike joined #lisp 2020-01-28T13:49:34Z v_m_v joined #lisp 2020-01-28T13:54:59Z v_m_v quit (Ping timeout: 272 seconds) 2020-01-28T13:56:54Z pjb: |this is so you may insert \| in an multi-escaped symbol| 2020-01-28T13:57:35Z pjb: jmercouris: :a\ |bana\a| 2020-01-28T13:57:39Z jmercouris: people used to use symbols to store data? 2020-01-28T13:57:54Z lieven: people used symbols as strings in pre CL 2020-01-28T13:57:57Z lieven: see EXPLODE 2020-01-28T13:58:03Z jmercouris: unbelievable 2020-01-28T13:58:07Z jmercouris: dark times 2020-01-28T13:58:09Z shka__: jmercouris: also, there is GET 2020-01-28T13:58:22Z shka__: so not only that, but symbols were use as global dicts 2020-01-28T13:58:46Z jmercouris: wow 2020-01-28T13:59:40Z pjb: (explode 'foo\ bar) #| --> (#\F #\O #\O #\ #\B #\A #\R) |# 2020-01-28T14:00:14Z pjb: but the original returned (f o o \ b a r) since there were no characters either… 2020-01-28T14:00:42Z flamebeard quit (Remote host closed the connection) 2020-01-28T14:00:52Z mcoll joined #lisp 2020-01-28T14:01:20Z flamebeard joined #lisp 2020-01-28T14:02:21Z EvW joined #lisp 2020-01-28T14:05:34Z jmercouris: a way to be in a file at a defun and invoke defun at point? 2020-01-28T14:05:46Z jmercouris: instead of going to REPL and typing it out? 2020-01-28T14:06:15Z jmercouris: c-c c-y? 2020-01-28T14:06:24Z jmercouris: seems to work 2020-01-28T14:06:44Z shka__: in slime? 2020-01-28T14:07:01Z jmercouris: yes 2020-01-28T14:07:18Z v_m_v joined #lisp 2020-01-28T14:07:29Z flamebeard quit (Ping timeout: 265 seconds) 2020-01-28T14:07:33Z shka__: well, i just c-c c-c when cursor at the defun form 2020-01-28T14:08:17Z shifty quit (Ping timeout: 272 seconds) 2020-01-28T14:08:22Z jmercouris: I c-c c-c and then c-c c-y 2020-01-28T14:08:26Z jmercouris: seems to be the closest one can get 2020-01-28T14:08:27Z jmercouris: to what I am asking 2020-01-28T14:08:42Z shka__: ok 2020-01-28T14:09:30Z pfdietz: We still have symbol-plist. And set. 2020-01-28T14:10:04Z pfdietz: Way way back, there were no packages. 2020-01-28T14:10:32Z jmercouris: even darker days 2020-01-28T14:11:44Z whiteline quit (Remote host closed the connection) 2020-01-28T14:12:09Z whiteline joined #lisp 2020-01-28T14:12:10Z jgkfh quit (Quit: Leaving) 2020-01-28T14:13:13Z whiteline quit (Remote host closed the connection) 2020-01-28T14:13:28Z pfdietz: shrdlu68: at work, our code formatting for Lisp just sends it through emacs. 2020-01-28T14:13:47Z whiteline joined #lisp 2020-01-28T14:13:58Z pfdietz: (ah he left) 2020-01-28T14:14:16Z zooey joined #lisp 2020-01-28T14:15:23Z mcoll: pfdietz, do you use Lisp at work? what are you working on? 2020-01-28T14:16:11Z jmercouris quit (Ping timeout: 265 seconds) 2020-01-28T14:17:03Z zooey_ quit (Ping timeout: 240 seconds) 2020-01-28T14:20:14Z brown121408 quit (Remote host closed the connection) 2020-01-28T14:20:32Z brown121407 joined #lisp 2020-01-28T14:20:41Z beach: pfdietz: That technique won't remove multiple space characters surrounded by expression, which was a requirement. 2020-01-28T14:20:47Z whiteline quit (Remote host closed the connection) 2020-01-28T14:21:38Z beach: mcoll: Are you new here? I don't recognize your nick. 2020-01-28T14:22:03Z whiteline joined #lisp 2020-01-28T14:22:38Z milanj quit (Quit: This computer has gone to sleep) 2020-01-28T14:22:49Z mcoll: beach: yeah, been meaning to get deeper into lisp for a while 2020-01-28T14:23:05Z beach: Sounds like a good plan! :) 2020-01-28T14:24:15Z mcoll: :) 2020-01-28T14:24:57Z HDurer joined #lisp 2020-01-28T14:25:13Z mcoll: I am planning to use CL for the upcoming Global Game Jam this weekend to try to get used to it 2020-01-28T14:26:08Z pfdietz: I work at GrammaTech. We're hiring, btw, although it's mostly not Common Lisp. 2020-01-28T14:26:40Z pfdietz: (Not sure if it's appropriate to recruit here.) 2020-01-28T14:27:48Z beach: I don't see a problem with it. 2020-01-28T14:27:59Z pfdietz: Ok :) 2020-01-28T14:29:47Z whiteline quit (Remote host closed the connection) 2020-01-28T14:30:28Z whiteline joined #lisp 2020-01-28T14:34:06Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-28T14:37:57Z random-nick joined #lisp 2020-01-28T14:42:05Z stylewarning quit 2020-01-28T14:42:23Z cosimone_ quit (Ping timeout: 245 seconds) 2020-01-28T14:42:33Z cosimone joined #lisp 2020-01-28T14:42:40Z stylewarning joined #lisp 2020-01-28T14:44:54Z flamebeard joined #lisp 2020-01-28T14:49:40Z shrdlu68 joined #lisp 2020-01-28T14:49:42Z beach: mcoll: For your information, there is also #lispgames and #clschool. 2020-01-28T14:51:29Z mcoll: beach: yeah! already on #lispgames, will check #clschool 2020-01-28T14:51:54Z beach: OK. #clschool is for truly basic Common Lisp stuff. 2020-01-28T14:53:19Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-28T14:56:50Z v_m_v quit (Remote host closed the connection) 2020-01-28T15:00:38Z flamebeard quit 2020-01-28T15:00:46Z v_m_v joined #lisp 2020-01-28T15:06:27Z DrStephenFalken quit (Ping timeout: 260 seconds) 2020-01-28T15:06:51Z johs quit 2020-01-28T15:07:12Z johs joined #lisp 2020-01-28T15:07:18Z whiteline quit (Remote host closed the connection) 2020-01-28T15:07:27Z asdf_asdf_asdf joined #lisp 2020-01-28T15:08:11Z oxum quit (Ping timeout: 265 seconds) 2020-01-28T15:08:43Z whiteline joined #lisp 2020-01-28T15:11:01Z milanj joined #lisp 2020-01-28T15:14:09Z splittist: I need a CLippy that watches over me. "I see you're trying to write a complicated lambda expression; let me open the Alexandria manual and the CLHS to the sequences dictionary so you can write a clear one liner instead." 2020-01-28T15:22:23Z lxbarbos` quit (Ping timeout: 260 seconds) 2020-01-28T15:23:52Z clothespin quit (Ping timeout: 260 seconds) 2020-01-28T15:25:08Z retropikzel joined #lisp 2020-01-28T15:26:03Z jmercouris joined #lisp 2020-01-28T15:26:58Z EvW quit (Ping timeout: 245 seconds) 2020-01-28T15:27:56Z davepdotorg joined #lisp 2020-01-28T15:29:41Z pjb quit (Remote host closed the connection) 2020-01-28T15:31:37Z pjb joined #lisp 2020-01-28T15:35:42Z whiteline quit (Remote host closed the connection) 2020-01-28T15:36:21Z whiteline joined #lisp 2020-01-28T15:36:39Z XenophonF: lmao 2020-01-28T15:36:50Z Oddity quit (Read error: Connection reset by peer) 2020-01-28T15:38:15Z Lycurgus joined #lisp 2020-01-28T15:41:17Z slyrus_ quit (Quit: Leaving) 2020-01-28T15:45:03Z kamog quit (Remote host closed the connection) 2020-01-28T15:47:06Z Oddity joined #lisp 2020-01-28T15:48:04Z pfdietz: "I see you are writing #'(lambda ...). Why are you doing that? Stop doing that. You don't need the #'." 2020-01-28T15:51:13Z p_l: so, Programmer's Apprentice? 2020-01-28T15:51:25Z p_l: that's the name of the project (lost in time) 2020-01-28T15:51:36Z pfdietz: I know of that project. 2020-01-28T15:51:48Z beach: scymtym has some demos in that direction. 2020-01-28T15:51:59Z entel quit 2020-01-28T15:52:20Z entel joined #lisp 2020-01-28T15:54:43Z ljavorsk_ joined #lisp 2020-01-28T15:57:12Z montaropdf quit (Quit: see you later.) 2020-01-28T15:57:23Z ljavorsk__ quit (Ping timeout: 260 seconds) 2020-01-28T15:58:37Z smazga joined #lisp 2020-01-28T16:00:27Z EvW joined #lisp 2020-01-28T16:01:55Z mingus quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-28T16:06:27Z pjb quit (Remote host closed the connection) 2020-01-28T16:08:12Z pjb joined #lisp 2020-01-28T16:11:01Z pjb quit (Remote host closed the connection) 2020-01-28T16:12:01Z davsebamse joined #lisp 2020-01-28T16:12:01Z v_m_v quit (Remote host closed the connection) 2020-01-28T16:12:30Z jmercouris quit (Remote host closed the connection) 2020-01-28T16:12:31Z pjb joined #lisp 2020-01-28T16:12:36Z v_m_v joined #lisp 2020-01-28T16:17:21Z v_m_v quit (Ping timeout: 268 seconds) 2020-01-28T16:23:05Z pjb quit (Remote host closed the connection) 2020-01-28T16:24:00Z frgo quit (Remote host closed the connection) 2020-01-28T16:24:35Z frgo joined #lisp 2020-01-28T16:25:17Z pjb joined #lisp 2020-01-28T16:25:43Z travv0 quit 2020-01-28T16:26:00Z travv0 joined #lisp 2020-01-28T16:27:34Z pjb quit (Remote host closed the connection) 2020-01-28T16:28:53Z frgo quit (Ping timeout: 260 seconds) 2020-01-28T16:29:17Z pjb joined #lisp 2020-01-28T16:30:55Z orivej quit (Ping timeout: 268 seconds) 2020-01-28T16:31:43Z v_m_v joined #lisp 2020-01-28T16:33:13Z ljavorsk__ joined #lisp 2020-01-28T16:35:17Z bitmapper joined #lisp 2020-01-28T16:35:53Z ljavorsk_ quit (Ping timeout: 260 seconds) 2020-01-28T16:36:09Z v_m_v quit (Ping timeout: 265 seconds) 2020-01-28T16:36:40Z v_m_v joined #lisp 2020-01-28T16:37:25Z redeemed quit (Quit: q) 2020-01-28T16:37:27Z oxum joined #lisp 2020-01-28T16:39:03Z Cymew quit (Ping timeout: 265 seconds) 2020-01-28T16:39:05Z LiamH joined #lisp 2020-01-28T16:43:22Z retropikzel quit (Quit: Vision[0.10.3]: i've been blurred!) 2020-01-28T16:45:14Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-28T16:46:08Z EvW1 joined #lisp 2020-01-28T16:47:32Z EvW quit (Ping timeout: 248 seconds) 2020-01-28T16:47:33Z EvW1 is now known as EvW 2020-01-28T16:55:38Z frgo joined #lisp 2020-01-28T17:00:31Z frgo quit (Ping timeout: 265 seconds) 2020-01-28T17:02:54Z tiwEllien joined #lisp 2020-01-28T17:04:12Z jsatk quit 2020-01-28T17:04:36Z jsatk joined #lisp 2020-01-28T17:05:54Z pjb quit (Remote host closed the connection) 2020-01-28T17:07:07Z pjb joined #lisp 2020-01-28T17:07:28Z frgo joined #lisp 2020-01-28T17:08:58Z Lycurgus quit (Ping timeout: 268 seconds) 2020-01-28T17:08:58Z gko_ quit (Ping timeout: 268 seconds) 2020-01-28T17:10:52Z mathrick joined #lisp 2020-01-28T17:13:26Z v_m_v quit (Remote host closed the connection) 2020-01-28T17:21:02Z davepdotorg quit (Remote host closed the connection) 2020-01-28T17:21:52Z oni-on-ion joined #lisp 2020-01-28T17:23:38Z Lycurgus joined #lisp 2020-01-28T17:26:26Z ljavorsk__ quit (Ping timeout: 240 seconds) 2020-01-28T17:28:38Z Codaraxis quit (Quit: Leaving) 2020-01-28T17:28:42Z pmden quit (Quit: Goodbyeee) 2020-01-28T17:30:51Z gravicappa joined #lisp 2020-01-28T17:32:50Z MinnowTaur quit (Ping timeout: 240 seconds) 2020-01-28T17:35:17Z efm quit (Remote host closed the connection) 2020-01-28T17:40:08Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-01-28T17:40:09Z zaquest quit (Ping timeout: 265 seconds) 2020-01-28T17:41:22Z emphazizer joined #lisp 2020-01-28T17:41:39Z hhdave quit (Quit: hhdave) 2020-01-28T17:45:06Z efm joined #lisp 2020-01-28T17:45:44Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-28T17:47:11Z MinnowTaur joined #lisp 2020-01-28T17:47:58Z Gerd joined #lisp 2020-01-28T17:52:33Z m00natic quit (Remote host closed the connection) 2020-01-28T17:54:10Z efm quit (Ping timeout: 268 seconds) 2020-01-28T17:54:56Z femi quit (Ping timeout: 265 seconds) 2020-01-28T17:58:07Z efm joined #lisp 2020-01-28T17:58:40Z lxbarbos` joined #lisp 2020-01-28T18:03:48Z Posterdati quit (Ping timeout: 258 seconds) 2020-01-28T18:05:38Z ggole quit (Quit: Leaving) 2020-01-28T18:06:13Z v88m joined #lisp 2020-01-28T18:06:18Z MinnowTaur quit (Ping timeout: 260 seconds) 2020-01-28T18:10:54Z femi joined #lisp 2020-01-28T18:11:03Z lxbarbos` left #lisp 2020-01-28T18:12:06Z zaquest joined #lisp 2020-01-28T18:13:54Z luis: Is there an easy way to get the same effect of (:tree "/foo/bar") in source-registry.conf programatically? 2020-01-28T18:14:12Z luis: I'm used to asdf:*central-registry*, but apparently that's been deprecated 2020-01-28T18:18:48Z madrik left #lisp 2020-01-28T18:19:36Z MinnowTaur joined #lisp 2020-01-28T18:19:56Z hhdave joined #lisp 2020-01-28T18:20:07Z cosimone quit (Quit: Quit.) 2020-01-28T18:21:00Z Xach: just like remove-if-not was deprecated 2020-01-28T18:21:14Z Lycurgus quit (Remote host closed the connection) 2020-01-28T18:26:51Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-28T18:29:30Z sjl_ joined #lisp 2020-01-28T18:31:45Z shangul joined #lisp 2020-01-28T18:37:46Z Posterdati joined #lisp 2020-01-28T18:40:14Z Ven`` joined #lisp 2020-01-28T18:42:16Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-28T18:42:38Z hhdave quit (Quit: hhdave) 2020-01-28T18:42:52Z FreeBirdLjj joined #lisp 2020-01-28T18:46:50Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-01-28T18:48:55Z smazga quit (Quit: Lost terminal) 2020-01-28T18:51:00Z dyelar quit (Remote host closed the connection) 2020-01-28T18:51:34Z dyelar joined #lisp 2020-01-28T18:51:53Z emacsomancer quit (Read error: Connection reset by peer) 2020-01-28T18:53:59Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-28T18:54:01Z emacsomancer joined #lisp 2020-01-28T18:54:24Z brown121407 joined #lisp 2020-01-28T18:57:36Z smazga joined #lisp 2020-01-28T19:01:50Z parisienne_ quit 2020-01-28T19:02:03Z parisienne_ joined #lisp 2020-01-28T19:04:32Z asarch: (setq ...) <- What does "q" mean? 2020-01-28T19:05:19Z asarch: "Queue"? 2020-01-28T19:08:47Z shangul quit (Ping timeout: 268 seconds) 2020-01-28T19:09:11Z william1_ joined #lisp 2020-01-28T19:09:15Z brown121407 quit (Read error: Connection reset by peer) 2020-01-28T19:09:28Z brown121407 joined #lisp 2020-01-28T19:12:36Z sjl_: "quoted" I think 2020-01-28T19:13:31Z sjl_: As in, (set 'x foo) => (setq x foo) 2020-01-28T19:13:54Z sjl_: though, nowadays it's not quite so simple 2020-01-28T19:14:02Z sjl_: but historically I think that's where the `q` comes from 2020-01-28T19:14:29Z pfdietz: That's right. 2020-01-28T19:15:23Z asdf_asdf_asdf quit (Ping timeout: 268 seconds) 2020-01-28T19:15:51Z pfdietz: Nowadays they're not the same, for two reasons: lexical bindings, and symbol macros. 2020-01-28T19:16:52Z amerlyq quit (Quit: amerlyq) 2020-01-28T19:18:53Z asdf_asdf_asdf joined #lisp 2020-01-28T19:20:50Z jmercouris joined #lisp 2020-01-28T19:21:52Z davepdotorg joined #lisp 2020-01-28T19:23:09Z mercourisj joined #lisp 2020-01-28T19:24:58Z asarch: Thank you! 2020-01-28T19:25:09Z asarch: Have a nice day :-) 2020-01-28T19:25:15Z asarch quit (Quit: Leaving) 2020-01-28T19:25:18Z EvW quit (Ping timeout: 245 seconds) 2020-01-28T19:25:52Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-28T19:26:58Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-28T19:27:16Z sauvin quit (Read error: Connection reset by peer) 2020-01-28T19:33:37Z stepnem_ joined #lisp 2020-01-28T19:34:01Z cosimone joined #lisp 2020-01-28T19:35:14Z stepnem quit (Ping timeout: 240 seconds) 2020-01-28T19:36:09Z mercourisj is now known as jmercouris 2020-01-28T19:41:28Z tiwEllien joined #lisp 2020-01-28T19:42:58Z william1_ quit (Quit: WeeChat 1.9.1) 2020-01-28T19:43:01Z jmercouris: prolog implementations on top of CL? 2020-01-28T19:43:07Z jmercouris: any quick loadable? 2020-01-28T19:43:26Z pfdietz: cerberus in quicklisp triggers the ClamAV malware scanner Pdf.Exploit.CVE_2018_12830-6809883-0 (file: docs/X.680-0207.pdf 2020-01-28T19:43:30Z william1_ joined #lisp 2020-01-28T19:44:23Z milanj quit (Quit: This computer has gone to sleep) 2020-01-28T19:45:24Z jmercouris: https://github.com/wmannis/cl-gambol ? 2020-01-28T19:46:20Z EvW1 joined #lisp 2020-01-28T19:46:26Z efm quit (Ping timeout: 240 seconds) 2020-01-28T19:47:08Z jeosol quit (Remote host closed the connection) 2020-01-28T19:49:21Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-28T19:50:00Z efm joined #lisp 2020-01-28T19:51:21Z shangul joined #lisp 2020-01-28T19:53:23Z brown121407 quit (Remote host closed the connection) 2020-01-28T19:53:38Z brown121407 joined #lisp 2020-01-28T19:55:02Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-28T20:04:09Z tiwEllien joined #lisp 2020-01-28T20:05:22Z cosimone quit (Quit: Quit.) 2020-01-28T20:07:38Z shangul quit (Ping timeout: 260 seconds) 2020-01-28T20:08:56Z mercourisj joined #lisp 2020-01-28T20:09:01Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-28T20:10:27Z jmercouris quit (Ping timeout: 268 seconds) 2020-01-28T20:11:38Z mercourisj quit (Remote host closed the connection) 2020-01-28T20:13:43Z efm quit (Ping timeout: 272 seconds) 2020-01-28T20:14:09Z Xach: pfdietz: yikes. 2020-01-28T20:14:24Z tiwEllien joined #lisp 2020-01-28T20:16:46Z LdBeth: jmercouris: http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/prolog/0.html 2020-01-28T20:17:40Z nullman quit (Ping timeout: 268 seconds) 2020-01-28T20:20:23Z LdBeth: Prolog implementations diff drastically 2020-01-28T20:21:15Z zmt00 quit (Quit: Leaving) 2020-01-28T20:21:40Z zmt00 joined #lisp 2020-01-28T20:22:47Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-28T20:23:51Z mcoll quit (Ping timeout: 272 seconds) 2020-01-28T20:28:26Z ym quit (Ping timeout: 240 seconds) 2020-01-28T20:36:57Z emaczen joined #lisp 2020-01-28T20:38:07Z cosimone joined #lisp 2020-01-28T20:40:15Z asdf_asdf_asdf joined #lisp 2020-01-28T20:41:23Z ym joined #lisp 2020-01-28T20:45:39Z hiroaki joined #lisp 2020-01-28T20:48:41Z edgar-rft joined #lisp 2020-01-28T20:51:05Z gigetoo quit (Ping timeout: 272 seconds) 2020-01-28T20:53:00Z gigetoo joined #lisp 2020-01-28T20:53:46Z milanj joined #lisp 2020-01-28T20:54:26Z efm joined #lisp 2020-01-28T20:56:54Z jeosol joined #lisp 2020-01-28T20:57:48Z william1_ quit (Ping timeout: 260 seconds) 2020-01-28T21:02:50Z izh_ joined #lisp 2020-01-28T21:07:34Z emphazizer quit (Quit: Leaving) 2020-01-28T21:08:19Z pjb: minion: memo for jmercouris: (ql:quickload :paiprolog :cl-prolog2) 2020-01-28T21:08:20Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-01-28T21:09:13Z jbreitma joined #lisp 2020-01-28T21:10:19Z jbreitma: pgloader: I am trying to convert a double precision to float when importing data from MySQL to Postgres. I am familiar with CAST and use it, but my configuration is not working for this conversion. 2020-01-28T21:12:08Z narimiran quit (Quit: leaving) 2020-01-28T21:14:49Z orivej joined #lisp 2020-01-28T21:19:35Z orivej quit (Ping timeout: 265 seconds) 2020-01-28T21:21:06Z emphazizer joined #lisp 2020-01-28T21:22:40Z orivej joined #lisp 2020-01-28T21:22:48Z davepdotorg joined #lisp 2020-01-28T21:22:50Z shrdlu68 quit (Ping timeout: 240 seconds) 2020-01-28T21:24:01Z gravicappa quit (Ping timeout: 272 seconds) 2020-01-28T21:26:44Z jbreitma left #lisp 2020-01-28T21:27:49Z davepdotorg quit (Ping timeout: 272 seconds) 2020-01-28T21:38:49Z izh_ quit (Quit: Leaving) 2020-01-28T21:45:53Z z147x joined #lisp 2020-01-28T21:46:23Z z147 quit (Ping timeout: 240 seconds) 2020-01-28T21:49:44Z pfdietz quit (Remote host closed the connection) 2020-01-28T21:53:39Z bendersteed quit (Read error: Connection reset by peer) 2020-01-28T21:56:01Z Bike quit (Remote host closed the connection) 2020-01-28T21:56:13Z Nilby joined #lisp 2020-01-28T21:56:55Z Bike joined #lisp 2020-01-28T22:01:31Z cl-arthur joined #lisp 2020-01-28T22:04:16Z ebrasca quit (Remote host closed the connection) 2020-01-28T22:07:41Z visage_ joined #lisp 2020-01-28T22:10:05Z hhdave joined #lisp 2020-01-28T22:10:12Z hhdave quit (Client Quit) 2020-01-28T22:18:30Z jeosol quit (Remote host closed the connection) 2020-01-28T22:21:27Z random-nick quit (Ping timeout: 265 seconds) 2020-01-28T22:21:29Z tiwEllien joined #lisp 2020-01-28T22:22:17Z hiroaki quit (Ping timeout: 272 seconds) 2020-01-28T22:29:34Z statusf90 joined #lisp 2020-01-28T22:29:47Z Bike quit (Remote host closed the connection) 2020-01-28T22:31:36Z Bike joined #lisp 2020-01-28T22:34:10Z jxy quit (Quit: leaving) 2020-01-28T22:35:13Z v88m quit (Ping timeout: 260 seconds) 2020-01-28T22:35:29Z visage_ quit (Quit: visage_) 2020-01-28T22:39:39Z jxy joined #lisp 2020-01-28T22:41:23Z jeosol joined #lisp 2020-01-28T22:41:23Z visage_ joined #lisp 2020-01-28T22:47:10Z cl-arthur quit (Remote host closed the connection) 2020-01-28T22:47:58Z Bike quit (Quit: Bike) 2020-01-28T22:48:13Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-28T22:49:34Z karlosz joined #lisp 2020-01-28T23:03:01Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-01-28T23:06:37Z lxbarbosa joined #lisp 2020-01-28T23:07:07Z bitmapper quit 2020-01-28T23:08:03Z sjl_ quit (Ping timeout: 268 seconds) 2020-01-28T23:23:41Z davepdotorg joined #lisp 2020-01-28T23:28:01Z r17411n joined #lisp 2020-01-28T23:28:02Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-28T23:29:54Z Xach: how can i have 6.0 format as 6.0 but 6.12345 format as 6.1235? 2020-01-28T23:30:03Z Xach: looking for a nice terse option if possible. 2020-01-28T23:33:05Z Bike joined #lisp 2020-01-28T23:35:37Z tiwEllien quit (Ping timeout: 268 seconds) 2020-01-28T23:41:39Z shifty joined #lisp 2020-01-28T23:42:11Z karlosz quit (Quit: karlosz) 2020-01-28T23:44:14Z Ven`` quit (Quit: Textual IRC Client: www.textualapp.com) 2020-01-28T23:44:42Z _death: (format t "~F~%" (/ (ceiling (* 6.12345 1e4)) 1e4)) 2020-01-28T23:50:25Z r17411n quit (Ping timeout: 268 seconds) 2020-01-28T23:50:44Z r17411n joined #lisp 2020-01-28T23:51:39Z quazimodo quit (Ping timeout: 268 seconds) 2020-01-28T23:51:56Z quazimodo joined #lisp 2020-01-28T23:56:34Z _death: or it is possible you want (format t "~F~%" (/ (ffloor (* (+ 6.12345 0.5e-4) 1e4)) 1e4)) 2020-01-28T23:56:50Z gabiruh quit (Remote host closed the connection) 2020-01-29T00:04:20Z cosimone quit (Ping timeout: 248 seconds) 2020-01-29T00:05:33Z lnostdal quit (Excess Flood) 2020-01-29T00:05:47Z lnostdal joined #lisp 2020-01-29T00:07:32Z sammich joined #lisp 2020-01-29T00:07:52Z LiamH quit (Quit: Leaving.) 2020-01-29T00:08:51Z clothespin joined #lisp 2020-01-29T00:09:26Z smazga quit (Quit: leaving) 2020-01-29T00:11:00Z r17411n quit (Remote host closed the connection) 2020-01-29T00:11:11Z r17411n joined #lisp 2020-01-29T00:11:47Z karlosz joined #lisp 2020-01-29T00:12:11Z r17411n quit (Remote host closed the connection) 2020-01-29T00:12:28Z r17411n joined #lisp 2020-01-29T00:16:34Z lxbarbosa quit (Remote host closed the connection) 2020-01-29T00:16:54Z r17411n quit (Remote host closed the connection) 2020-01-29T00:17:07Z r17411n joined #lisp 2020-01-29T00:21:01Z Lord_of_Life_ joined #lisp 2020-01-29T00:23:54Z Lord_of_Life quit (Ping timeout: 268 seconds) 2020-01-29T00:24:00Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-29T00:41:58Z clothespin quit (Ping timeout: 245 seconds) 2020-01-29T00:42:41Z emphazizer quit (Quit: Leaving) 2020-01-29T00:45:25Z turona quit (Ping timeout: 272 seconds) 2020-01-29T00:47:15Z emaczen quit (Remote host closed the connection) 2020-01-29T00:47:33Z emaczen joined #lisp 2020-01-29T00:49:16Z turona joined #lisp 2020-01-29T00:49:56Z gabiruh joined #lisp 2020-01-29T00:50:29Z v88m joined #lisp 2020-01-29T00:52:45Z emaczen quit (Remote host closed the connection) 2020-01-29T00:54:22Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-29T00:58:30Z clothespin joined #lisp 2020-01-29T01:00:33Z efm quit (Quit: Konversation terminated!) 2020-01-29T01:07:55Z Gerd quit (Quit: WeeChat 2.6) 2020-01-29T01:09:36Z torbo joined #lisp 2020-01-29T01:10:42Z Gerd joined #lisp 2020-01-29T01:11:04Z dale joined #lisp 2020-01-29T01:12:46Z Gerd quit (Client Quit) 2020-01-29T01:18:05Z jeosol quit (Remote host closed the connection) 2020-01-29T01:20:27Z asdf_asdf_asdf joined #lisp 2020-01-29T01:21:37Z visage_ quit (Quit: visage_) 2020-01-29T01:24:01Z Gerd joined #lisp 2020-01-29T01:24:40Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-29T01:24:56Z davepdot_ joined #lisp 2020-01-29T01:29:38Z davepdot_ quit (Ping timeout: 260 seconds) 2020-01-29T01:31:24Z z147x quit (Quit: z147x) 2020-01-29T01:34:38Z dale quit (Quit: dale) 2020-01-29T01:49:25Z igemnace joined #lisp 2020-01-29T01:49:54Z dale joined #lisp 2020-01-29T01:55:08Z statusf90 quit (Remote host closed the connection) 2020-01-29T01:55:46Z statusf90 joined #lisp 2020-01-29T01:57:38Z snits quit (Ping timeout: 268 seconds) 2020-01-29T02:06:08Z snits joined #lisp 2020-01-29T02:10:06Z Kaisyu7 joined #lisp 2020-01-29T02:11:22Z EvW1 quit (Ping timeout: 260 seconds) 2020-01-29T02:11:42Z gko_ joined #lisp 2020-01-29T02:15:33Z Oladon joined #lisp 2020-01-29T02:30:51Z Nilby quit (Read error: Connection reset by peer) 2020-01-29T02:32:47Z mathrick quit (Ping timeout: 268 seconds) 2020-01-29T02:38:37Z dale_ joined #lisp 2020-01-29T02:38:53Z dale quit (Disconnected by services) 2020-01-29T03:04:47Z ahungry joined #lisp 2020-01-29T03:05:45Z statusf90 quit (Quit: statusf90) 2020-01-29T03:19:39Z stepnem_ quit (Read error: Connection reset by peer) 2020-01-29T03:20:06Z stepnem joined #lisp 2020-01-29T03:20:25Z FreeBirdLjj joined #lisp 2020-01-29T03:25:37Z davepdotorg joined #lisp 2020-01-29T03:26:24Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-29T03:30:34Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-29T03:38:50Z dale_ quit (Ping timeout: 240 seconds) 2020-01-29T03:39:37Z dale joined #lisp 2020-01-29T03:49:43Z madage quit (Ping timeout: 240 seconds) 2020-01-29T03:52:53Z dddddd quit (Ping timeout: 272 seconds) 2020-01-29T04:01:34Z slyrus joined #lisp 2020-01-29T04:02:52Z madage joined #lisp 2020-01-29T04:24:41Z milanj quit (Quit: This computer has gone to sleep) 2020-01-29T04:31:31Z Posterdati quit (Ping timeout: 272 seconds) 2020-01-29T04:35:40Z oni-on-ion quit (Remote host closed the connection) 2020-01-29T04:35:58Z oni-on-ion joined #lisp 2020-01-29T04:37:11Z beach: Good morning everyone! 2020-01-29T04:37:44Z Josh_2: Mornin 2020-01-29T04:37:58Z XenophonF left #lisp 2020-01-29T04:38:50Z Posterdati joined #lisp 2020-01-29T04:39:52Z Nilby joined #lisp 2020-01-29T04:41:52Z dale quit (Ping timeout: 260 seconds) 2020-01-29T04:50:31Z dale joined #lisp 2020-01-29T04:51:34Z gravicappa joined #lisp 2020-01-29T04:52:45Z torbo quit (Remote host closed the connection) 2020-01-29T04:56:20Z Bike quit (Quit: Lost terminal) 2020-01-29T05:07:30Z Oladon quit (Quit: Leaving.) 2020-01-29T05:16:06Z karlosz quit (Read error: Connection reset by peer) 2020-01-29T05:16:25Z karlosz joined #lisp 2020-01-29T05:22:49Z davepdotorg joined #lisp 2020-01-29T05:23:37Z georgiePorgie joined #lisp 2020-01-29T05:27:38Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-29T05:31:16Z karlosz quit (Quit: karlosz) 2020-01-29T05:31:35Z karlosz joined #lisp 2020-01-29T05:32:54Z refusenick joined #lisp 2020-01-29T05:35:21Z refusenick: For a C-to-Lisp compiler like Zeta-C or Vacietis, how little of the POSIX API could a Lisp OS get away with implementing while still being able to reuse drivers from a Unix derivative? 2020-01-29T05:36:46Z beach: Not sure what you mean. Translating C to Lisp does not need any OS drivers. 2020-01-29T05:39:17Z aeth quit (Ping timeout: 272 seconds) 2020-01-29T05:39:55Z refusenick: beach: Using the drivers in a Lisp OS would necessitate support for some aspects of Unix to call into them, no? 2020-01-29T05:40:55Z aeth joined #lisp 2020-01-29T05:40:56Z beach: I am sure you are right. I just don't understand your question. It might help if you tell us what it is that you try to accomplish. Sorry, I am notorious for having a hard time understanding. 2020-01-29T05:41:12Z beach: But I am very interested in this question because I have plans for a LispOS. 2020-01-29T05:41:48Z refusenick: I know very little about low level development - I only took an introductory x86 assembly & architecture course. 2020-01-29T05:41:54Z asarch joined #lisp 2020-01-29T05:42:08Z greaser|q quit (Read error: Connection reset by peer) 2020-01-29T05:42:09Z refusenick: Nevertheless, don't drivers provide some sort of API to use them to interface with hardware? 2020-01-29T05:42:14Z Nilby: It really depends which drivers you want to use. Storage drivers are fairly easy and have a small interface. Graphics card drivers on the other hand are extremely difficult. 2020-01-29T05:42:27Z greaser|q joined #lisp 2020-01-29T05:43:13Z refusenick: Nilby: Graphics is the big issue at hand, I suppose - if there's to be any draw towards a Lisp OS (or any other OS) over Unix, it's the graphical aspect 2020-01-29T05:43:26Z beach: refusenick: Please. I am not questioning your intentions or your competence. I am trying to understand what you want to do. 2020-01-29T05:43:35Z refusenick: I know 2020-01-29T05:44:00Z beach: refusenick: Are you saying you want to reuse drivers in a LispOS by translating them from C using a C to Lisp compiler? 2020-01-29T05:44:07Z refusenick: yes 2020-01-29T05:44:12Z beach: Ah, good to know. 2020-01-29T05:44:38Z beach: I don't think that is possible at all, at least not with the way such compilers currently work. 2020-01-29T05:44:51Z Nilby: We have a LispOS currently, but one pain point is it doesn't use graphics hardware last time I looked, probably because of that issue. 2020-01-29T05:45:14Z narimiran joined #lisp 2020-01-29T05:45:17Z refusenick: Have you taken a look at https://github.com/vsedach/Vacietis ? 2020-01-29T05:46:05Z refusenick: Unfortunately, Unix makes safe interop gratuitously difficult: https://arcanesentiment.blogspot.com/2012/05/pointer-arithmetic-can-be-safe.html 2020-01-29T05:46:52Z refusenick: Pascal should have won. At least the type safety would've made it easier to compile drivers written in it to a better language. 2020-01-29T05:46:55Z ArthurStrong joined #lisp 2020-01-29T05:47:14Z refusenick: (Well, Lisp should have won, but for most people, their choices were C or Pascal) 2020-01-29T05:47:39Z brown121407 quit (Ping timeout: 268 seconds) 2020-01-29T05:48:01Z brown121407 joined #lisp 2020-01-29T05:49:25Z beach: refusenick: A device driver needs direct access to RAM. You can't do that in Common Lisp, at least not portably, and not in C either. All such C programs exploit undefined behavior in the C standard. 2020-01-29T05:49:31Z refusenick: Since Unix operates on plain text streams, for example, I assume supporting POSIX architecture for the driver would have to include UTF-8 encoding and stdout/stdin/stderr streams at the least, which is already 2020-01-29T05:49:38Z Nilby: I think it is possible, but it would be quite a lot of work to get right. But probably less work than rewriting all hardware drivers. 2020-01-29T05:50:03Z Nilby: Of course you can access RAM in CL. 2020-01-29T05:50:13Z refusenick: which is already, in my eyes, irrelevant legacy cruft 2020-01-29T05:50:18Z Nilby: Just not standardly. 2020-01-29T05:50:36Z beach: Nilby: That is precisely what I said. 2020-01-29T05:50:43Z Nilby: Except we have a defacto standard FFI. 2020-01-29T05:50:57Z beach: In a LispOS? 2020-01-29T05:51:53Z beach: I think we are talking about very different kinds of LispOSes, so I'll be quiet. 2020-01-29T05:52:24Z Nilby: beach: Oh, sorry. I can barely think, type, read simultanously :| 2020-01-29T05:53:18Z pjb: beach: who says a device driver needs direct access to RAM? 2020-01-29T05:54:03Z beach: I am sure you are going to tell me that I was wrong, and I am listening. 2020-01-29T05:54:35Z refusenick: I'm asking this here because the Lisp community is, by far, the most advanced I've seen in writing an OS from first principles without copying Unix 2020-01-29T05:54:51Z pjb: beach: the principle is to be a controlled environment. I means that low level stuff is done by the lower level (eg. hardware). You can have a DEVICE that uses a (vector (unsigned-byte 8) *) as buffer, and the hardware will do the right thing with the lisp object. 2020-01-29T05:54:53Z refusenick: but I actually wanted to write it in something closer to a statically-typed Forth 2020-01-29T05:55:11Z refusenick: Feel free to crucify me 2020-01-29T05:55:52Z beach: pjb: Fair enough. 2020-01-29T05:55:54Z no-defun-allowed: (append (loop repeat 2 collect (make-nail)) (loop repeat 2 collect (make-wooden-beam))) 2020-01-29T05:56:12Z pjb: beach: you may need a meeting point, but the hardware, instead of presenting devices as addresses and 8-bit registers, can as well represent them as lisp objects and fixnums. 2020-01-29T05:56:53Z beach: I suppose so, sure. 2020-01-29T05:57:10Z refusenick: pjb: That's how I assume any OS written from the ground up with a particular language's abstract machine in mind would do it: wrap it in the native idioms and do as the Romans do 2020-01-29T05:57:36Z oxum quit (Remote host closed the connection) 2020-01-29T05:57:37Z pjb: beach: one example was the NuBUS cards on Macintosh, that needed to be built with a ROM that gave a high level representation of their features. A precursor of EFI hardware layer (I hear you can write EFI drivers in forth). 2020-01-29T05:57:59Z refusenick: After all, Unix's Achille's heel is that plain text is limited in what it can represent because it lacks structure like sexprs 2020-01-29T05:58:15Z pjb: EFI hardware *abstraction* layer. 2020-01-29T05:59:11Z pjb: refusenick: it's not really that. It's that the structure (of the plain text) is meta data, outside of the plain text. It's encoded in the parser and serialisers used in different programs (and therefore that can be different). 2020-01-29T05:59:28Z pjb: refusenick: I say it's also an advantage, since that let you edit configuration files with a simple text editor. 2020-01-29T05:59:40Z refusenick: If one were to write a microkernel for a Lisp OS to cleanly present the hardware as Lisp objects to everything about it, how would the user be prevented from mucking about with it if all objects are mutable by default in Lisp? 2020-01-29T05:59:40Z pjb: refusenick: but the alternative is to store objects. 2020-01-29T05:59:48Z ahungry quit (Remote host closed the connection) 2020-01-29T06:00:09Z pjb: refusenick: the only difference here is that lisp has a "standard" textual representation (printable readably sexps) for SOME lisp objects. 2020-01-29T06:00:12Z no-defun-allowed: You could have access control, and only allow code in certain contexts to modify objects. 2020-01-29T06:00:24Z refusenick: pjb: On that note, I'm particularly interested by Xerox's Lisp Machines, which stored everything as objects and provided first-class support for live structure editing 2020-01-29T06:00:30Z pjb: refusenick: but as long as you don't use an object database, sexps, xml, or unix table files are the same. 2020-01-29T06:01:42Z pjb: refusenick: but an object database is a bore, there are still problems (notably with identity, since normal databases make copies). So it's only good once you have a persitent memory and no file system, and no need for a database. Then your "files" are just lisp data structure in (persistent) memory. 2020-01-29T06:01:44Z refusenick: My dream - as a math person who ends up wasting time on computers to make them do math stuff faster - my dream is a tablet with a pen and a CAS with first-class structure editing and live look-up and advice support 2020-01-29T06:02:17Z refusenick: pjb: Why have files at all? I find the Smalltalk/BBN Lisp image concept intriguing 2020-01-29T06:02:26Z shrdlu68 joined #lisp 2020-01-29T06:02:26Z pjb: Exactly. 2020-01-29T06:02:37Z refusenick: plus, there's lots of work on capabilities for image-based systems (see: EROS, CapROS) 2020-01-29T06:04:12Z pjb: However, again, the advantage of unix, the reason of its adoption, is that once you store something in a file, you can process it with any kind of tools. When you have objects, you can only send to the object, the messages that have been programmed into its class! So it can be very difficult to edit or manipulate it, when the set of methods provided is not comprehensive. 2020-01-29T06:05:00Z pjb: refusenick: no, there's not a lot of work on them, unfortunately. The only guy who worked on them has been hired by Microsoft several years ago so any further development have been dropped. 2020-01-29T06:05:23Z refusenick: Wasn't the idea of objects (the original one of Alan Kay, closer to the actor model) that you could send messages consisting of raw data to other objects without considering their implementation? 2020-01-29T06:05:30Z pjb: There are some documented archived on the Internet, and that's all. 2020-01-29T06:05:43Z refusenick: oh :() 2020-01-29T06:05:48Z refusenick: :( 2020-01-29T06:06:07Z refusenick: a la Erlang 2020-01-29T06:06:10Z pjb: System research has disappeared 30-40 years ago. 2020-01-29T06:06:27Z refusenick: That's how it appears to be 2020-01-29T06:06:37Z pjb: About the time when universities started to teach MS-Word… 2020-01-29T06:06:39Z refusenick: Hence my desire to reuse drivers and not reinvent the wheel 2020-01-29T06:06:52Z pjb: Yep, use Linux as HAL… 2020-01-29T06:07:01Z refusenick: no 2020-01-29T06:07:28Z refusenick: I'd like something I can seamlessly run on a RasPi or in the browser 2020-01-29T06:07:52Z refusenick: even Plan 9 would be better than what we have now, and Plan 9 is a far cry from what could be 2020-01-29T06:08:07Z pjb: Only Linux has the device drivers… 2020-01-29T06:08:24Z refusenick: https://github.com/snabbco/snabb 2020-01-29T06:08:50Z refusenick: There's been a quiet revolution in BSD land with rump kernel and userland driver experimentation 2020-01-29T06:10:32Z refusenick: As much as everything "cloud" tends to be cancerous, it has lead to a renewed interest in ideas such as exokernels and the like 2020-01-29T06:11:32Z refusenick: Now is a better time to start a non-Unix OS than in the past 30 years, even if that's not saying much 2020-01-29T06:11:55Z oxum joined #lisp 2020-01-29T06:12:06Z beach: refusenick: You refuse access through the use of capabilities. 2020-01-29T06:12:30Z refusenick: https://nanovms.com/dev/tutorials/running-forth-unikernels 2020-01-29T06:14:23Z oxum quit (Remote host closed the connection) 2020-01-29T06:14:27Z beach: refusenick: Have you read my CLOSOS specification? 2020-01-29T06:14:36Z pjb: beach: check: http://www.alfamontreal.info/NuBus.pdf eg. page 30 there's a diagram showing an example of an Apple NuBus property list. There are attributes, and block of (driver) codes. 2020-01-29T06:15:19Z beach: pjb: Thanks. 2020-01-29T06:15:40Z pjb: beach: the only difference is that they were designed to be used in 680x0 assembler or in C, so the data structures are pointers and uint32. But they could be formatted as an immutable lisp heap. 2020-01-29T06:15:42Z refusenick: I wonder how far a unikernel with image based Lisp could be stripped down 2020-01-29T06:15:42Z refusenick: https://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/ibcl/index.html 2020-01-29T06:16:34Z refusenick: beach: I have not 2020-01-29T06:16:38Z pjb: refusenick: very far. Since CL implementations have FFI, you would only need the kernel, the CL implementation and its run-time shared libraries. 2020-01-29T06:16:54Z pjb: refusenick: see for example http://informatimago.com/linux/emacs-on-user-mode-linux.html 2020-01-29T06:17:01Z beach: refusenick: metamodular.com/closos.pdf 2020-01-29T06:17:08Z refusenick: yep, found it 2020-01-29T06:17:25Z pjb: refusenick: that version of emacs didn't have module, so I had to add mount(1), but with an emacs module or with CL FFI, we can mount from the process itself. 2020-01-29T06:17:28Z refusenick: I wonder what it would take to support CL atop a smaller kernel like L4 2020-01-29T06:18:03Z refusenick: To be extra evil, maybe compile L4 into CL and ditch C entirely for even bootstrapping! 2020-01-29T06:18:08Z pjb: refusenick: basically all CL implementation use libc (glibc, etc). They don't do direct syscalls AFAIK. 2020-01-29T06:18:30Z beach: But they probably should. 2020-01-29T06:18:34Z refusenick: compile Musl into Lisp? 2020-01-29T06:18:43Z refusenick: I've gone drunk with power 2020-01-29T06:18:51Z pjb: Indeed, there's a movement even amongst C programmers, of using direct syscalls instead of libc… 2020-01-29T06:19:11Z refusenick: As if C could be more unsafe 2020-01-29T06:19:13Z pjb: Since some Linux syscalls give more power than POSIX libc… 2020-01-29T06:19:27Z refusenick: L4 has only 7 syscalls 2020-01-29T06:19:35Z oxum joined #lisp 2020-01-29T06:19:40Z refusenick: I wonder if there's a POSIX-compliant libc which can run atop it. 2020-01-29T06:19:48Z refusenick: Maybe that could compiled into Lisp 2020-01-29T06:20:00Z pjb: refusenick: you have the sources, have fun! 2020-01-29T06:26:08Z oxum quit (Remote host closed the connection) 2020-01-29T06:30:38Z shifty quit (Ping timeout: 268 seconds) 2020-01-29T06:35:08Z karlosz quit (Quit: karlosz) 2020-01-29T06:35:14Z dale quit (Ping timeout: 240 seconds) 2020-01-29T06:35:42Z karlosz joined #lisp 2020-01-29T06:35:46Z karlosz quit (Remote host closed the connection) 2020-01-29T06:36:15Z karlosz joined #lisp 2020-01-29T06:36:18Z karlosz quit (Remote host closed the connection) 2020-01-29T06:36:37Z sauvin joined #lisp 2020-01-29T06:36:45Z karlosz joined #lisp 2020-01-29T06:36:51Z karlosz quit (Remote host closed the connection) 2020-01-29T06:39:27Z Tordek quit (Ping timeout: 272 seconds) 2020-01-29T06:40:39Z ArthurStrong quit (Quit: leaving) 2020-01-29T06:40:53Z oxum joined #lisp 2020-01-29T06:41:08Z Nistur quit (Ping timeout: 260 seconds) 2020-01-29T06:42:12Z Cymew joined #lisp 2020-01-29T06:49:34Z shangul joined #lisp 2020-01-29T06:50:12Z Tordek joined #lisp 2020-01-29T06:50:23Z karlosz joined #lisp 2020-01-29T06:54:00Z ebzzry joined #lisp 2020-01-29T06:55:05Z Nistur joined #lisp 2020-01-29T06:55:43Z shka_ quit (Ping timeout: 265 seconds) 2020-01-29T06:58:55Z dale joined #lisp 2020-01-29T06:59:33Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-29T07:00:25Z Posterdati quit (Ping timeout: 268 seconds) 2020-01-29T07:01:07Z Posterdati joined #lisp 2020-01-29T07:01:19Z space_otter joined #lisp 2020-01-29T07:02:05Z Nistur quit (Ping timeout: 268 seconds) 2020-01-29T07:02:24Z dale_ joined #lisp 2020-01-29T07:02:38Z dale quit (Disconnected by services) 2020-01-29T07:02:42Z dale_ is now known as dale 2020-01-29T07:03:14Z Tordek quit (Ping timeout: 240 seconds) 2020-01-29T07:03:46Z LdBeth: Hello 2020-01-29T07:04:12Z vlatkoB joined #lisp 2020-01-29T07:04:18Z ebrasca joined #lisp 2020-01-29T07:05:04Z kmeow joined #lisp 2020-01-29T07:05:26Z dale_ joined #lisp 2020-01-29T07:05:34Z LdBeth: l4 is basically a “modern” OS influenced by UNIX 2020-01-29T07:05:45Z dale quit (Disconnected by services) 2020-01-29T07:05:50Z dale_ is now known as dale 2020-01-29T07:06:02Z dale quit (Read error: Connection reset by peer) 2020-01-29T07:06:35Z dale joined #lisp 2020-01-29T07:09:30Z oxum quit (Read error: Connection reset by peer) 2020-01-29T07:09:31Z oxum_ joined #lisp 2020-01-29T07:11:49Z Tordek joined #lisp 2020-01-29T07:12:35Z Nistur joined #lisp 2020-01-29T07:13:06Z asarch quit (Quit: Leaving) 2020-01-29T07:14:25Z dale_ joined #lisp 2020-01-29T07:14:35Z dale quit (Disconnected by services) 2020-01-29T07:14:37Z dale_ is now known as dale 2020-01-29T07:23:49Z georgiePorgie joined #lisp 2020-01-29T07:25:56Z oxum_ quit (Remote host closed the connection) 2020-01-29T07:27:54Z Tordek quit (Ping timeout: 265 seconds) 2020-01-29T07:28:21Z oxum joined #lisp 2020-01-29T07:29:29Z jprajzne_ joined #lisp 2020-01-29T07:32:20Z CrazyEddy quit (Remote host closed the connection) 2020-01-29T07:32:25Z CrazyEddy joined #lisp 2020-01-29T07:33:13Z X-Scale` joined #lisp 2020-01-29T07:35:08Z oxum quit (Remote host closed the connection) 2020-01-29T07:36:19Z X-Scale quit (Ping timeout: 265 seconds) 2020-01-29T07:36:19Z X-Scale` is now known as X-Scale 2020-01-29T07:37:05Z Nistur quit (Ping timeout: 265 seconds) 2020-01-29T07:38:35Z Qudit314159 joined #lisp 2020-01-29T07:38:40Z epony quit (Remote host closed the connection) 2020-01-29T07:43:18Z kajo quit (Ping timeout: 246 seconds) 2020-01-29T07:44:27Z X-Scale` joined #lisp 2020-01-29T07:44:59Z kajo joined #lisp 2020-01-29T07:46:03Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-29T07:46:04Z X-Scale` is now known as X-Scale 2020-01-29T07:48:18Z flamebeard joined #lisp 2020-01-29T07:48:45Z varjag joined #lisp 2020-01-29T07:49:06Z Qudit314159 quit (Remote host closed the connection) 2020-01-29T07:52:36Z Nistur joined #lisp 2020-01-29T07:52:51Z Tordek joined #lisp 2020-01-29T07:54:04Z troydm quit (Ping timeout: 268 seconds) 2020-01-29T08:00:30Z JohnMS_WORK joined #lisp 2020-01-29T08:00:34Z davepdotorg joined #lisp 2020-01-29T08:01:14Z wxie joined #lisp 2020-01-29T08:02:09Z milanj joined #lisp 2020-01-29T08:05:20Z vlatkoB_ joined #lisp 2020-01-29T08:05:47Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-29T08:06:02Z vlatkoB quit (Ping timeout: 240 seconds) 2020-01-29T08:13:50Z Nistur quit (Read error: Connection timed out) 2020-01-29T08:13:58Z Nistur joined #lisp 2020-01-29T08:15:57Z wxie quit (Ping timeout: 265 seconds) 2020-01-29T08:17:58Z oxum joined #lisp 2020-01-29T08:19:11Z karlosz quit (Quit: karlosz) 2020-01-29T08:19:40Z karlosz joined #lisp 2020-01-29T08:19:49Z karlosz quit (Remote host closed the connection) 2020-01-29T08:21:02Z scymtym joined #lisp 2020-01-29T08:23:08Z oxum quit (Quit: Leaving...) 2020-01-29T08:25:13Z ggole joined #lisp 2020-01-29T08:32:04Z refusenick quit (Ping timeout: 248 seconds) 2020-01-29T08:32:25Z tiwEllien joined #lisp 2020-01-29T08:33:50Z emacsomancer quit (Ping timeout: 265 seconds) 2020-01-29T08:34:29Z refusenick joined #lisp 2020-01-29T08:35:14Z oxum joined #lisp 2020-01-29T08:36:56Z emacsomancer joined #lisp 2020-01-29T08:37:32Z mingus joined #lisp 2020-01-29T08:39:17Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-29T08:39:22Z oxum quit (Remote host closed the connection) 2020-01-29T08:44:28Z mingus quit (Ping timeout: 265 seconds) 2020-01-29T08:47:14Z oxum joined #lisp 2020-01-29T08:47:32Z msk quit (Ping timeout: 268 seconds) 2020-01-29T08:50:23Z mingus joined #lisp 2020-01-29T08:53:37Z ebrasca: LdBeth: I think l4 is microkernel 2020-01-29T08:54:08Z hhdave joined #lisp 2020-01-29T08:55:13Z d4ryus: refusenick: Yes: https://l4re.org/ 2020-01-29T08:58:42Z msk joined #lisp 2020-01-29T09:11:27Z hhdave quit (Ping timeout: 272 seconds) 2020-01-29T09:13:50Z z147 joined #lisp 2020-01-29T09:14:02Z Nilby quit (Ping timeout: 240 seconds) 2020-01-29T09:14:04Z z147x joined #lisp 2020-01-29T09:14:26Z z147 quit (Client Quit) 2020-01-29T09:15:16Z davepdotorg joined #lisp 2020-01-29T09:18:43Z hhdave joined #lisp 2020-01-29T09:21:32Z ljavorsk joined #lisp 2020-01-29T09:22:53Z kmeow quit (Remote host closed the connection) 2020-01-29T09:23:24Z p_l: LdBeth: there's nothing UNIX in L4 2020-01-29T09:25:31Z ebrasca: p_l: Are you sure? 2020-01-29T09:26:48Z ebzzry quit (Ping timeout: 260 seconds) 2020-01-29T09:26:51Z p_l: ebrasca: I am 2020-01-29T09:27:49Z frgo quit (Remote host closed the connection) 2020-01-29T09:28:12Z p_l: you can build an UNIX system on top of it, but by itself it's closer to core layer of Spring, which was UNIXish even in philosophy, but in a mirror-verse way 2020-01-29T09:28:43Z p_l: L4 supports switching processes and passing messages between them. That's about it, everything else is custom 2020-01-29T09:29:34Z davepdotorg quit (Quit: Leaving...) 2020-01-29T09:29:38Z ebrasca: How to test this L4? 2020-01-29T09:29:49Z ebrasca: Is it better than GNU/Hurd? 2020-01-29T09:30:01Z faix joined #lisp 2020-01-29T09:30:08Z p_l: L4 was for a time proposed as mach replacement in Hurd 2020-01-29T09:30:17Z p_l: L4 by itself is very, very tiny kernel 2020-01-29T09:30:19Z faix quit (Quit: Quit) 2020-01-29T09:30:22Z p_l: so it's not a comparison 2020-01-29T09:30:49Z faix joined #lisp 2020-01-29T09:31:08Z p_l: usually for L4 implementations there's a bunch of code that makes it more usable (and it was common to use L4/Linux to provide device drivers etc.) 2020-01-29T09:33:30Z ebrasca: How to test it? 2020-01-29T09:38:12Z p_l: you'd need to grab some of the more complete systems using it 2020-01-29T09:38:30Z p_l: seL4 has a bunch of userland to make usable demo, so does Fiasco 2020-01-29T09:42:46Z ebzzry joined #lisp 2020-01-29T09:45:56Z davepdotorg joined #lisp 2020-01-29T09:53:37Z frgo joined #lisp 2020-01-29T09:58:25Z frgo quit (Ping timeout: 265 seconds) 2020-01-29T09:58:47Z pvaneynd joined #lisp 2020-01-29T10:03:27Z frgo joined #lisp 2020-01-29T10:08:32Z georgiePorgie joined #lisp 2020-01-29T10:10:26Z Shinmera: L4 is also off topic. 2020-01-29T10:11:28Z Cymew: But it's very, very tiny. :) 2020-01-29T10:12:02Z frgo quit (Ping timeout: 260 seconds) 2020-01-29T10:12:11Z no-defun-allowed: By mass, it is still 100% off topic. 2020-01-29T10:12:22Z Cymew: Indeed. 2020-01-29T10:13:22Z Cymew: Incidentially, I don't think I've seen much conversation about what kind of kernel architechture to aim for among the lisp development done in kernel space. 2020-01-29T10:14:17Z no-defun-allowed: The CLOSOS paper suggests that a kernel is unnecessary, and that is what I believe. 2020-01-29T10:14:35Z Cymew: In theory you don't need one big flat memory space for kernel and user space, right? 2020-01-29T10:14:37Z jackdaniel: Cymew: beach discussed it in his lispos paper - there is no need for a separate kernel from applications. you have no direct pointer arithmetic and memory separation is just an unnecessary baggage 2020-01-29T10:14:58Z Cymew: Look at that. I had missed that paper. 2020-01-29T10:15:01Z no-defun-allowed: In a language where you cannot manipulate memory, you should not need to hide memory from client code through process boundaries. 2020-01-29T10:15:18Z refusenick quit (Ping timeout: 245 seconds) 2020-01-29T10:15:21Z jackdaniel: (so applications are more run as functions, not as separate processes with their own address space) 2020-01-29T10:16:14Z Cymew: It sounds like it could cause some interesting bugs, though. 2020-01-29T10:16:45Z Cymew: I can see some benefit by separating processes in different spaces to protect them from accidents. 2020-01-29T10:17:18Z Cymew: But, I guess beach have thought about that. 2020-01-29T10:17:40Z no-defun-allowed: If the compiler generates safe code, the resulting operating system should be safe. 2020-01-29T10:17:51Z beach: Cymew: If those accidents are program defects, then there is no protection possible against those. 2020-01-29T10:18:13Z no-defun-allowed: Is rowhammer still a problem? 2020-01-29T10:18:25Z Shinmera: if you don't have ECC memory, yes 2020-01-29T10:19:09Z Cymew: beach: I guess that's true to some extent. I need to read that paper I think. 2020-01-29T10:19:32Z Cymew: Is there a compiled version online? My google fu only leads me to the tex sources. 2020-01-29T10:20:03Z no-defun-allowed: I think only hardware bugs would be problematic for a CLOSOS with a bug-free compiler and runtime. 2020-01-29T10:20:13Z beach: Cymew: metamodular.com/closos.pdf 2020-01-29T10:20:15Z no-defun-allowed: http://metamodular.com/closos.pdf 2020-01-29T10:20:44Z Cymew: Thanks. 2020-01-29T10:20:50Z shangul quit (Ping timeout: 268 seconds) 2020-01-29T10:23:53Z ArthurStrong joined #lisp 2020-01-29T10:36:39Z m00natic joined #lisp 2020-01-29T10:37:32Z hhdave_ joined #lisp 2020-01-29T10:38:32Z hhdave quit (Ping timeout: 268 seconds) 2020-01-29T10:38:33Z hhdave_ is now known as hhdave 2020-01-29T10:38:54Z jmercouris joined #lisp 2020-01-29T10:44:26Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-29T10:45:52Z heisig joined #lisp 2020-01-29T10:46:57Z cosimone joined #lisp 2020-01-29T10:54:03Z troydm joined #lisp 2020-01-29T10:57:37Z whiteline quit (Read error: Connection reset by peer) 2020-01-29T10:58:29Z whiteline joined #lisp 2020-01-29T10:59:19Z davepdotorg quit (Remote host closed the connection) 2020-01-29T11:00:27Z davepdotorg joined #lisp 2020-01-29T11:04:54Z Nilby joined #lisp 2020-01-29T11:14:28Z epony joined #lisp 2020-01-29T11:24:32Z davepdotorg quit (Remote host closed the connection) 2020-01-29T11:26:01Z davepdotorg joined #lisp 2020-01-29T11:37:20Z georgiePorgie joined #lisp 2020-01-29T11:42:36Z dddddd joined #lisp 2020-01-29T11:47:43Z space_otter quit (Remote host closed the connection) 2020-01-29T11:57:53Z faix quit (Ping timeout: 260 seconds) 2020-01-29T11:58:42Z orivej quit (Ping timeout: 268 seconds) 2020-01-29T11:59:42Z milanj quit (Quit: This computer has gone to sleep) 2020-01-29T12:02:35Z faix joined #lisp 2020-01-29T12:05:13Z mingus quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-29T12:05:39Z pjb: So, I get in the mini buffer this message: "like funciton would" from time to time. Any idea where it comes from? 2020-01-29T12:07:47Z slyrus_ joined #lisp 2020-01-29T12:10:18Z pvaneynd_ joined #lisp 2020-01-29T12:10:18Z pvaneynd quit (Read error: Connection reset by peer) 2020-01-29T12:10:41Z slyrus quit (Ping timeout: 272 seconds) 2020-01-29T12:11:22Z EvW joined #lisp 2020-01-29T12:17:04Z faix quit (Read error: Connection reset by peer) 2020-01-29T12:17:23Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-29T12:18:28Z boeg: pjb: in which minibuffer? 2020-01-29T12:19:34Z pjb: GNU emacs, slime. 2020-01-29T12:19:44Z Nilby: Mysterious minibuffer messages have made muddlement from time immemorial. [E]ach [M]essage [A]lways [C]auses [S]urprises 2020-01-29T12:19:46Z boeg: alright 2020-01-29T12:20:07Z boeg: lol 2020-01-29T12:20:13Z pjb: I already grepped the sources of emacs, but we find funciton only in the ChangeLogs… 2020-01-29T12:20:28Z pjb: The misspelling horipilates way more than the message itself. 2020-01-29T12:23:23Z pjb: 9213215 files in the file system… 2020-01-29T12:25:00Z brown121408 joined #lisp 2020-01-29T12:25:03Z brown121407 quit (Read error: Connection reset by peer) 2020-01-29T12:25:19Z faix joined #lisp 2020-01-29T12:29:59Z georgiePorgie joined #lisp 2020-01-29T12:40:36Z dale quit (Quit: My computer has gone to sleep) 2020-01-29T12:43:31Z milanj joined #lisp 2020-01-29T12:47:23Z lucasb joined #lisp 2020-01-29T12:49:13Z jmercouris quit (Ping timeout: 260 seconds) 2020-01-29T12:51:54Z jmercouris joined #lisp 2020-01-29T12:53:03Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-29T12:59:17Z amerlyq joined #lisp 2020-01-29T12:59:45Z orivej joined #lisp 2020-01-29T13:04:01Z tiwEllien quit (Ping timeout: 265 seconds) 2020-01-29T13:06:43Z pvaneynd_ is now known as pvaneynd 2020-01-29T13:08:01Z cosimone quit (Quit: Terminated!) 2020-01-29T13:14:07Z v88m quit (Read error: Connection reset by peer) 2020-01-29T13:14:54Z v88m joined #lisp 2020-01-29T13:14:58Z developernotes joined #lisp 2020-01-29T13:21:10Z gabiruh quit (Quit: ZNC - 1.6.0 - http://znc.in) 2020-01-29T13:21:13Z v88m quit (Read error: Connection reset by peer) 2020-01-29T13:21:44Z v88m joined #lisp 2020-01-29T13:22:30Z v88m quit (Read error: Connection reset by peer) 2020-01-29T13:23:17Z v88m joined #lisp 2020-01-29T13:24:26Z v88m quit (Read error: Connection reset by peer) 2020-01-29T13:25:07Z v88m joined #lisp 2020-01-29T13:28:51Z _jrjsmrtn joined #lisp 2020-01-29T13:29:11Z developernotes quit 2020-01-29T13:30:36Z xuxuru joined #lisp 2020-01-29T13:30:41Z statusf90 joined #lisp 2020-01-29T13:30:46Z __jrjsmrtn__ quit (Ping timeout: 268 seconds) 2020-01-29T13:30:47Z xuxuru quit (Client Quit) 2020-01-29T13:31:31Z v88m quit (Read error: Connection reset by peer) 2020-01-29T13:31:47Z v88m joined #lisp 2020-01-29T13:32:19Z gabiruh joined #lisp 2020-01-29T13:35:26Z v_m_v joined #lisp 2020-01-29T13:37:08Z jonatack quit (Ping timeout: 248 seconds) 2020-01-29T13:44:49Z developernotes joined #lisp 2020-01-29T13:45:38Z oxum quit (Ping timeout: 240 seconds) 2020-01-29T13:49:16Z faix quit (Ping timeout: 268 seconds) 2020-01-29T13:50:26Z pvaneynd quit 2020-01-29T13:51:12Z Bike joined #lisp 2020-01-29T13:55:42Z shka__ quit (Quit: WeeChat 1.9.1) 2020-01-29T13:56:25Z shifty joined #lisp 2020-01-29T13:58:38Z jfb4_ quit (Ping timeout: 265 seconds) 2020-01-29T13:59:42Z jfb4 joined #lisp 2020-01-29T14:02:23Z gabiruh_ joined #lisp 2020-01-29T14:02:48Z gabiruh quit (Ping timeout: 252 seconds) 2020-01-29T14:06:36Z LiamH joined #lisp 2020-01-29T14:06:55Z ebrasca quit (Remote host closed the connection) 2020-01-29T14:09:45Z shrdlu68 quit (Ping timeout: 265 seconds) 2020-01-29T14:10:14Z shifty quit (Ping timeout: 268 seconds) 2020-01-29T14:11:19Z ebrasca joined #lisp 2020-01-29T14:12:04Z gabiruh joined #lisp 2020-01-29T14:13:04Z gabiruh_ quit (Ping timeout: 252 seconds) 2020-01-29T14:14:57Z m00natic quit (Read error: Connection reset by peer) 2020-01-29T14:15:12Z m00natic joined #lisp 2020-01-29T14:16:24Z shifty joined #lisp 2020-01-29T14:16:39Z cosimone joined #lisp 2020-01-29T14:20:44Z pnp joined #lisp 2020-01-29T14:21:15Z fowlduck quit (Ping timeout: 246 seconds) 2020-01-29T14:22:33Z swills quit (Quit: No Ping reply in 180 seconds.) 2020-01-29T14:23:08Z fowlduck joined #lisp 2020-01-29T14:24:00Z swills joined #lisp 2020-01-29T14:27:16Z shifty quit (Remote host closed the connection) 2020-01-29T14:27:35Z shifty joined #lisp 2020-01-29T14:29:17Z jmercouris quit (Ping timeout: 246 seconds) 2020-01-29T14:30:43Z EvW quit (Ping timeout: 245 seconds) 2020-01-29T14:30:49Z jmercouris joined #lisp 2020-01-29T14:32:09Z pnp left #lisp 2020-01-29T14:32:20Z statusf90 quit (Quit: statusf90) 2020-01-29T14:32:29Z pfdietz joined #lisp 2020-01-29T14:33:26Z v88m quit (Ping timeout: 265 seconds) 2020-01-29T14:33:45Z EvW1 joined #lisp 2020-01-29T14:39:52Z adolby quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-29T14:44:51Z igemnace quit (Quit: WeeChat 2.7) 2020-01-29T14:45:14Z shrdlu68 joined #lisp 2020-01-29T14:48:01Z jonatack joined #lisp 2020-01-29T14:48:27Z sysz joined #lisp 2020-01-29T14:55:10Z sysz quit (Quit: Quit) 2020-01-29T14:55:42Z sysz joined #lisp 2020-01-29T14:56:00Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-29T14:57:45Z notzmv quit (Read error: Connection reset by peer) 2020-01-29T14:58:35Z jmercouris quit (Remote host closed the connection) 2020-01-29T15:00:54Z jmercouris joined #lisp 2020-01-29T15:00:56Z ebrasca quit (Remote host closed the connection) 2020-01-29T15:01:09Z oxum joined #lisp 2020-01-29T15:03:16Z ebrasca joined #lisp 2020-01-29T15:04:04Z jonatack quit (Ping timeout: 248 seconds) 2020-01-29T15:09:48Z sjl_ joined #lisp 2020-01-29T15:15:23Z z147x quit (Remote host closed the connection) 2020-01-29T15:16:54Z random-nick joined #lisp 2020-01-29T15:22:22Z EvW1 quit (Ping timeout: 252 seconds) 2020-01-29T15:23:29Z Lycurgus joined #lisp 2020-01-29T15:33:20Z r17411n quit (Remote host closed the connection) 2020-01-29T15:35:00Z clothespin quit (Ping timeout: 248 seconds) 2020-01-29T15:36:57Z scymtym quit (Ping timeout: 260 seconds) 2020-01-29T15:44:42Z refpga joined #lisp 2020-01-29T15:47:06Z refpga quit (Read error: Connection reset by peer) 2020-01-29T15:47:23Z z147 joined #lisp 2020-01-29T15:47:43Z refpga joined #lisp 2020-01-29T15:48:43Z Cymew quit (Ping timeout: 268 seconds) 2020-01-29T15:50:35Z ikrabbe joined #lisp 2020-01-29T15:52:36Z kajo quit (Ping timeout: 246 seconds) 2020-01-29T15:53:50Z ck_ quit (Ping timeout: 268 seconds) 2020-01-29T15:54:04Z ck_ joined #lisp 2020-01-29T15:55:36Z troydm quit (Ping timeout: 265 seconds) 2020-01-29T15:57:21Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-01-29T15:59:00Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-01-29T16:03:30Z Lycurgus quit (Remote host closed the connection) 2020-01-29T16:03:59Z pfdietz: grep -r funciton quicklisp/dists/quicklisp/software 2020-01-29T16:04:24Z pfdietz: 22 hits 2020-01-29T16:04:55Z jmercouris quit (Remote host closed the connection) 2020-01-29T16:05:59Z shifty quit (Ping timeout: 268 seconds) 2020-01-29T16:06:46Z ck_: do swearwords go above or below that number? 2020-01-29T16:06:59Z beach: I am betting I am responsible for some of those. 2020-01-29T16:07:13Z Nilby quit (Read error: Connection reset by peer) 2020-01-29T16:17:27Z pfdietz: cl-cuda gendl tm bodge-ode montezuma pclcl pooler 2020-01-29T16:17:45Z pfdietz: clem bitio 2020-01-29T16:18:03Z beach: Nope, none in my code it seems. 2020-01-29T16:18:11Z aeth: on swearwords; grep -r fuck ~/quicklisp/dists/quicklisp/software 2020-01-29T16:18:13Z aeth: I get one result 2020-01-29T16:18:21Z aeth: quicklisp/dists/quicklisp/software/iterate-20180228-git/doc/tex/iterate-manual.tex:% somehow, LaTex fucks with things so that the plain Tex \obeyspaces 2020-01-29T16:18:33Z jackdaniel: I'm sure commit messages will have more funcitons ,) 2020-01-29T16:18:44Z jackdaniel: funciton: keyboard generalization over a function. :) 2020-01-29T16:18:50Z pfdietz: Ancient unix has a file deletion program named dsw. The name is reported to have stood for "delete swear words". 2020-01-29T16:18:51Z aeth: A LaTeX comment! They thought they could hide a "fucks" in a LaTeX comment! Who reads the documentation documentation? 2020-01-29T16:19:42Z flamebeard quit 2020-01-29T16:19:45Z slyrus__ joined #lisp 2020-01-29T16:20:21Z jackdaniel: https://scsh.net/docu/html/man.html (speaking of documentation) -- I've heard that this poor joke made a lot of trouble to the author 2020-01-29T16:20:48Z Xach: The comments in dpans3 are really interesting to me. It includes things that were edited out or rewritten, and commentary on edits and references to other discussions. 2020-01-29T16:21:03Z Xach: No cusses though that I recall 2020-01-29T16:21:10Z Odin- joined #lisp 2020-01-29T16:22:40Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-29T16:24:29Z kajo joined #lisp 2020-01-29T16:28:40Z slyrus joined #lisp 2020-01-29T16:30:53Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-29T16:34:35Z ggole quit (Quit: Leaving) 2020-01-29T16:35:35Z gko_ quit (Ping timeout: 268 seconds) 2020-01-29T16:36:04Z slyrus: pfdietz: yes, funciton is in CLEM, but only in ChangeLog and TODO. 2020-01-29T16:37:31Z slyrus: OT but am I the only one who read Btrfs as Bit-rot File System? 2020-01-29T16:37:46Z frgo joined #lisp 2020-01-29T16:38:02Z Xach: yes. it's clearly the BetTeR File System. 2020-01-29T16:38:16Z slyrus: Perhaps one day... 2020-01-29T16:38:22Z Odin-: I usually think 'butter fs', for some reason. 2020-01-29T16:38:35Z _death: bitterfs 2020-01-29T16:38:38Z Odin-: That would appear to be a fairly accurate description. 2020-01-29T16:38:47Z slyrus: heh 2020-01-29T16:39:05Z Odin- still isn't quite sure why it isn't NIHfs. 2020-01-29T16:40:13Z orivej quit (Ping timeout: 260 seconds) 2020-01-29T16:41:41Z v_m_v_ joined #lisp 2020-01-29T16:42:29Z frgo quit (Ping timeout: 265 seconds) 2020-01-29T16:42:52Z retropikzel joined #lisp 2020-01-29T16:42:56Z efm joined #lisp 2020-01-29T16:43:12Z pfdietz: Pull request for chanl created, to fix the compare-and-swap problem. 2020-01-29T16:51:45Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-29T16:52:22Z FreeBirdLjj joined #lisp 2020-01-29T16:52:23Z v88m joined #lisp 2020-01-29T16:52:53Z v_m_v_ quit (Remote host closed the connection) 2020-01-29T16:54:44Z developernotes quit (Quit: leaving) 2020-01-29T16:55:01Z XenophonF joined #lisp 2020-01-29T16:56:48Z v_m_v_ joined #lisp 2020-01-29T16:57:21Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-29T16:59:30Z ikrabbe quit (Remote host closed the connection) 2020-01-29T17:02:48Z slyrus_ joined #lisp 2020-01-29T17:03:53Z v_m_v_ quit (Remote host closed the connection) 2020-01-29T17:04:04Z davepdotorg quit (Remote host closed the connection) 2020-01-29T17:05:41Z slyrus quit (Ping timeout: 265 seconds) 2020-01-29T17:08:16Z jonatack joined #lisp 2020-01-29T17:09:24Z developernotes joined #lisp 2020-01-29T17:12:56Z jonatack quit (Ping timeout: 265 seconds) 2020-01-29T17:13:28Z jonatack joined #lisp 2020-01-29T17:14:12Z clothespin joined #lisp 2020-01-29T17:16:26Z frgo joined #lisp 2020-01-29T17:16:37Z mn3m joined #lisp 2020-01-29T17:17:06Z orivej joined #lisp 2020-01-29T17:19:09Z statusf90 joined #lisp 2020-01-29T17:20:37Z z147 quit (Remote host closed the connection) 2020-01-29T17:21:35Z heisig quit (Quit: Leaving) 2020-01-29T17:24:50Z oni-on-ion quit (Ping timeout: 240 seconds) 2020-01-29T17:25:58Z oni-on-ion joined #lisp 2020-01-29T17:30:28Z ljavorsk quit (Ping timeout: 268 seconds) 2020-01-29T17:31:10Z shka_ joined #lisp 2020-01-29T17:33:03Z orivej quit (Ping timeout: 272 seconds) 2020-01-29T17:33:03Z m00natic quit (Read error: Connection reset by peer) 2020-01-29T17:33:37Z hhdave quit (Quit: hhdave) 2020-01-29T17:38:31Z kiwi_74 joined #lisp 2020-01-29T17:40:19Z slyrus__ joined #lisp 2020-01-29T17:41:04Z kiwi_74 quit (Remote host closed the connection) 2020-01-29T17:42:26Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-29T17:44:16Z slyrus_ joined #lisp 2020-01-29T17:46:50Z slyrus__ quit (Ping timeout: 240 seconds) 2020-01-29T17:50:03Z gendl: pfdietz: pjb: Thanks for finding that "funciton" in gendl. It turns out this was in a file from the Franz eli (Franz emacs-lisp interface) directory (fi-indent.el), which directory wasn't even supposed to be in gendl in the first place. Scrubbed now. It's just in a docstring and not at all resembling your mystery minibuffer message. Koikidink that this one was in emacs-lisp code, though.. 2020-01-29T17:53:06Z Odin- quit (Quit: Well, that's a bit silly.) 2020-01-29T17:55:38Z shangul joined #lisp 2020-01-29T18:05:44Z cosimone_ joined #lisp 2020-01-29T18:05:48Z mn3m quit (Ping timeout: 268 seconds) 2020-01-29T18:07:00Z cosimone quit (Ping timeout: 248 seconds) 2020-01-29T18:07:36Z cosimone_ is now known as cosimone 2020-01-29T18:11:50Z amerlyq quit (Quit: amerlyq) 2020-01-29T18:12:26Z nowhere_man joined #lisp 2020-01-29T18:12:50Z orivej joined #lisp 2020-01-29T18:14:17Z slyrus__ joined #lisp 2020-01-29T18:17:13Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-29T18:21:13Z shangul quit (Ping timeout: 268 seconds) 2020-01-29T18:25:27Z pfdietz: (patches English to allow that word, fixing all the doc bugs at once) 2020-01-29T18:29:23Z z147 joined #lisp 2020-01-29T18:29:24Z ebzzry quit (Read error: Connection reset by peer) 2020-01-29T18:40:05Z mathrick joined #lisp 2020-01-29T18:43:48Z jasom quit (Ping timeout: 248 seconds) 2020-01-29T18:49:24Z developernotes quit (Ping timeout: 268 seconds) 2020-01-29T18:50:33Z developernotes joined #lisp 2020-01-29T18:56:02Z developernotes quit (Ping timeout: 240 seconds) 2020-01-29T18:56:33Z jasom joined #lisp 2020-01-29T18:59:22Z malm quit (Ping timeout: 260 seconds) 2020-01-29T19:00:13Z brown121408 quit (Ping timeout: 260 seconds) 2020-01-29T19:01:08Z brown121408 joined #lisp 2020-01-29T19:02:33Z pok quit (Ping timeout: 260 seconds) 2020-01-29T19:03:20Z pok joined #lisp 2020-01-29T19:03:20Z refusenick joined #lisp 2020-01-29T19:04:35Z tomaw quit (Quit: Quitting) 2020-01-29T19:04:39Z cl-arthur joined #lisp 2020-01-29T19:04:40Z tomaw joined #lisp 2020-01-29T19:04:53Z davepdotorg joined #lisp 2020-01-29T19:07:22Z developernotes joined #lisp 2020-01-29T19:09:54Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-29T19:12:25Z rippa joined #lisp 2020-01-29T19:13:29Z brown121408 quit (Read error: Connection reset by peer) 2020-01-29T19:13:33Z milanj quit (Quit: This computer has gone to sleep) 2020-01-29T19:14:07Z brown121408 joined #lisp 2020-01-29T19:15:28Z ebrasca quit (Remote host closed the connection) 2020-01-29T19:18:06Z refusenick quit (Remote host closed the connection) 2020-01-29T19:18:34Z refusenick joined #lisp 2020-01-29T19:25:57Z sauvin quit (Read error: Connection reset by peer) 2020-01-29T19:26:38Z vlatkoB_ quit (Read error: Connection reset by peer) 2020-01-29T19:27:23Z vlatkoB joined #lisp 2020-01-29T19:28:41Z manualcrank joined #lisp 2020-01-29T19:30:20Z Odin- joined #lisp 2020-01-29T19:34:21Z retropikzel quit (Quit: Vision[0.10.3]: i've been blurred!) 2020-01-29T19:34:48Z developernotes quit (Quit: Reconnecting) 2020-01-29T19:35:06Z developernotes joined #lisp 2020-01-29T19:35:23Z ebrasca joined #lisp 2020-01-29T19:35:31Z orivej quit (Ping timeout: 265 seconds) 2020-01-29T19:35:48Z refusenick quit (Ping timeout: 265 seconds) 2020-01-29T19:37:18Z slyrus_ joined #lisp 2020-01-29T19:39:52Z slyrus__ quit (Ping timeout: 265 seconds) 2020-01-29T19:44:44Z stepnem_ joined #lisp 2020-01-29T19:45:08Z stepnem quit (Ping timeout: 260 seconds) 2020-01-29T19:45:57Z shrdlu68 quit (Ping timeout: 265 seconds) 2020-01-29T19:50:57Z jmercouris joined #lisp 2020-01-29T19:51:33Z clothespin quit (Ping timeout: 260 seconds) 2020-01-29T19:51:57Z cosimone quit (Quit: Terminated!) 2020-01-29T19:54:19Z slyrus__ joined #lisp 2020-01-29T19:55:38Z slyrus_ quit (Read error: Connection reset by peer) 2020-01-29T19:55:47Z hiroaki joined #lisp 2020-01-29T19:58:28Z nowhere_man quit (Ping timeout: 268 seconds) 2020-01-29T20:00:28Z borodust quit (Quit: Leavin') 2020-01-29T20:03:47Z hiroaki quit (Ping timeout: 272 seconds) 2020-01-29T20:07:18Z slyrus_ joined #lisp 2020-01-29T20:07:54Z efm quit (Ping timeout: 268 seconds) 2020-01-29T20:08:26Z oxum_ joined #lisp 2020-01-29T20:09:40Z oxum quit (Ping timeout: 248 seconds) 2020-01-29T20:09:41Z cl-arthur quit (Read error: Connection reset by peer) 2020-01-29T20:10:13Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-29T20:10:20Z lxbarbosa joined #lisp 2020-01-29T20:14:15Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-29T20:15:42Z izh_ joined #lisp 2020-01-29T20:16:57Z refusenick joined #lisp 2020-01-29T20:18:58Z developernotes quit (Quit: leaving) 2020-01-29T20:19:42Z developernotes joined #lisp 2020-01-29T20:21:29Z msk quit (Remote host closed the connection) 2020-01-29T20:21:40Z msk joined #lisp 2020-01-29T20:23:54Z troydm joined #lisp 2020-01-29T20:30:49Z slyrus__ joined #lisp 2020-01-29T20:33:27Z notzmv joined #lisp 2020-01-29T20:33:33Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-29T20:36:31Z pnp joined #lisp 2020-01-29T20:38:09Z refpga quit (Remote host closed the connection) 2020-01-29T20:38:11Z cosimone joined #lisp 2020-01-29T20:38:44Z narimiran quit (Ping timeout: 268 seconds) 2020-01-29T20:39:00Z shifty joined #lisp 2020-01-29T20:40:46Z pnp: Hi all. I did (intern "new-symbol") in the cl-user package. Now how is possible to "delete" / "remove" the name of this symbol from the package? Thanks in advance 2020-01-29T20:40:49Z mn3m joined #lisp 2020-01-29T20:42:59Z travv0: http://www.lispworks.com/documentation/HyperSpec/Body/f_uninte.htm 2020-01-29T20:42:59Z Odin-: unintern 2020-01-29T20:43:19Z pnp: thank you 2020-01-29T20:47:39Z lxbarbosa quit (Remote host closed the connection) 2020-01-29T20:51:14Z v_m_v quit (Ping timeout: 240 seconds) 2020-01-29T20:51:29Z ebrasca quit (Remote host closed the connection) 2020-01-29T20:51:38Z shifty quit (Ping timeout: 260 seconds) 2020-01-29T20:51:57Z shifty joined #lisp 2020-01-29T20:53:15Z splittist quit 2020-01-29T20:53:36Z splittist joined #lisp 2020-01-29T20:57:11Z frgo quit (Read error: Connection reset by peer) 2020-01-29T20:57:12Z jonatack quit (Ping timeout: 265 seconds) 2020-01-29T20:57:19Z bendersteed joined #lisp 2020-01-29T20:57:42Z frgo joined #lisp 2020-01-29T20:58:33Z v_m_v joined #lisp 2020-01-29T20:58:42Z pfdietz quit (Remote host closed the connection) 2020-01-29T20:58:47Z pnp left #lisp 2020-01-29T21:03:00Z gravicappa quit (Ping timeout: 265 seconds) 2020-01-29T21:03:20Z gravicappa joined #lisp 2020-01-29T21:05:46Z davepdotorg joined #lisp 2020-01-29T21:06:24Z pfdietz joined #lisp 2020-01-29T21:10:53Z davepdotorg quit (Ping timeout: 260 seconds) 2020-01-29T21:11:51Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-29T21:14:04Z z147x joined #lisp 2020-01-29T21:16:26Z z147 quit (Remote host closed the connection) 2020-01-29T21:16:27Z kajo quit (Ping timeout: 260 seconds) 2020-01-29T21:18:01Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-29T21:18:54Z dyelar quit (Remote host closed the connection) 2020-01-29T21:19:22Z dyelar joined #lisp 2020-01-29T21:25:38Z refusenick quit (Ping timeout: 240 seconds) 2020-01-29T21:26:18Z fsmunoz joined #lisp 2020-01-29T21:31:53Z william1_ joined #lisp 2020-01-29T21:41:29Z hiroaki joined #lisp 2020-01-29T21:41:54Z kajo joined #lisp 2020-01-29T21:51:24Z cosimone quit (Remote host closed the connection) 2020-01-29T21:51:54Z cosimone joined #lisp 2020-01-29T21:52:58Z ArthurStrong quit (Quit: leaving) 2020-01-29T21:56:20Z nullman joined #lisp 2020-01-29T22:04:46Z slyrus_ joined #lisp 2020-01-29T22:05:20Z msk quit (Remote host closed the connection) 2020-01-29T22:05:40Z msk joined #lisp 2020-01-29T22:06:31Z statusf90 quit (Quit: statusf90) 2020-01-29T22:06:47Z jeosol joined #lisp 2020-01-29T22:07:28Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-29T22:08:13Z izh_ quit (Quit: Leaving) 2020-01-29T22:10:15Z msk_ joined #lisp 2020-01-29T22:11:39Z msk quit (Read error: Connection reset by peer) 2020-01-29T22:12:59Z v88m quit (Ping timeout: 272 seconds) 2020-01-29T22:21:00Z jmercouris quit (Remote host closed the connection) 2020-01-29T22:22:30Z gene_upstateNY joined #lisp 2020-01-29T22:24:23Z william1_ quit (Ping timeout: 272 seconds) 2020-01-29T22:25:04Z bendersteed quit (Remote host closed the connection) 2020-01-29T22:27:03Z developernotes quit (Quit: leaving) 2020-01-29T22:31:00Z karlosz joined #lisp 2020-01-29T22:33:00Z Bike quit (Quit: Bike) 2020-01-29T22:38:18Z whiteline quit (Read error: Connection reset by peer) 2020-01-29T22:38:39Z whiteline_ joined #lisp 2020-01-29T22:40:41Z karlosz quit (Quit: karlosz) 2020-01-29T22:47:03Z zooey quit (Ping timeout: 240 seconds) 2020-01-29T22:48:07Z zooey joined #lisp 2020-01-29T22:48:13Z Red1334 joined #lisp 2020-01-29T22:53:23Z Red1334 quit (Quit: -a- IRC for Android 2.1.44) 2020-01-29T22:53:31Z random-nick quit (Ping timeout: 272 seconds) 2020-01-29T22:54:46Z refusenick joined #lisp 2020-01-29T22:57:21Z sjl_ quit (Ping timeout: 265 seconds) 2020-01-29T23:15:17Z LiamH quit (Quit: Leaving.) 2020-01-29T23:16:15Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-29T23:16:25Z shifty quit (Ping timeout: 268 seconds) 2020-01-29T23:24:40Z refusenick quit (Read error: Connection reset by peer) 2020-01-29T23:24:52Z refusenick joined #lisp 2020-01-29T23:25:34Z milanj joined #lisp 2020-01-29T23:27:05Z Bike joined #lisp 2020-01-29T23:30:29Z davepdotorg joined #lisp 2020-01-29T23:32:25Z akoana joined #lisp 2020-01-29T23:34:18Z refusenick quit (Ping timeout: 268 seconds) 2020-01-29T23:35:43Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-29T23:36:19Z karlosz joined #lisp 2020-01-29T23:36:38Z statusf90 joined #lisp 2020-01-29T23:41:26Z karlosz quit (Quit: karlosz) 2020-01-29T23:48:02Z gene_upstateNY quit (Ping timeout: 240 seconds) 2020-01-29T23:48:16Z akoana left #lisp 2020-01-29T23:49:54Z v_m_v quit (Ping timeout: 268 seconds) 2020-01-29T23:58:50Z stepnem_ quit (Read error: Connection reset by peer) 2020-01-30T00:00:23Z stepnem joined #lisp 2020-01-30T00:04:27Z cosimone quit (Ping timeout: 260 seconds) 2020-01-30T00:06:50Z hiroaki quit (Ping timeout: 240 seconds) 2020-01-30T00:16:55Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-30T00:19:39Z Xach uses the pretty printer for some real stuff 2020-01-30T00:36:05Z Lycurgus joined #lisp 2020-01-30T00:36:53Z refusenick joined #lisp 2020-01-30T00:37:32Z refusenick: Does the CEPL library depend on 2020-01-30T00:37:38Z refusenick: using SLIME? 2020-01-30T00:37:46Z refusenick: I'm using Sly, and the default instructions aren't working. 2020-01-30T00:37:48Z z147 joined #lisp 2020-01-30T00:38:23Z z147x quit (Ping timeout: 240 seconds) 2020-01-30T00:38:29Z msk_ quit (Remote host closed the connection) 2020-01-30T00:38:33Z Khisanth quit (Ping timeout: 260 seconds) 2020-01-30T00:38:37Z hiroaki joined #lisp 2020-01-30T00:38:39Z msk_ joined #lisp 2020-01-30T00:44:21Z turona quit (Ping timeout: 272 seconds) 2020-01-30T00:46:19Z v88m joined #lisp 2020-01-30T00:47:34Z Odin-: Xach: As opposed to unreal? 2020-01-30T00:47:39Z msk_ quit (Remote host closed the connection) 2020-01-30T00:47:40Z msk joined #lisp 2020-01-30T00:47:45Z pfdietz quit (Remote host closed the connection) 2020-01-30T00:48:32Z georgiePorgie joined #lisp 2020-01-30T00:49:38Z Lycurgus quit (Remote host closed the connection) 2020-01-30T00:50:46Z Khisanth joined #lisp 2020-01-30T00:51:54Z no-defun-allowed: Xach could also be doing protected mode stuff. 2020-01-30T00:53:04Z lnostdal quit (Excess Flood) 2020-01-30T00:53:25Z lnostdal joined #lisp 2020-01-30T00:53:26Z ebzzry joined #lisp 2020-01-30T00:55:23Z lnostdal quit (Max SendQ exceeded) 2020-01-30T00:55:44Z lnostdal joined #lisp 2020-01-30T00:56:25Z lxbarbosa joined #lisp 2020-01-30T00:58:43Z msk_ joined #lisp 2020-01-30T00:58:46Z msk quit (Read error: Connection reset by peer) 2020-01-30T01:04:23Z MetaYan: refusenick: CEPL doesn't depend on SLIME. If you hop over to #lispgames I might be able to help – if it's still needed… 2020-01-30T01:05:25Z jonatack joined #lisp 2020-01-30T01:06:01Z Oladon joined #lisp 2020-01-30T01:08:07Z refusenick quit (Read error: Connection reset by peer) 2020-01-30T01:10:57Z XenophonF quit (Ping timeout: 265 seconds) 2020-01-30T01:11:29Z Xach: Odin-: i am making a bridge from vecto to the js canvas, and i am using the pretty printer to generate js code. 2020-01-30T01:15:40Z epony quit (Remote host closed the connection) 2020-01-30T01:16:30Z Nilby joined #lisp 2020-01-30T01:16:46Z epony joined #lisp 2020-01-30T01:20:27Z ebzzry quit (Ping timeout: 272 seconds) 2020-01-30T01:20:56Z igemnace joined #lisp 2020-01-30T01:21:29Z dale joined #lisp 2020-01-30T01:22:00Z Xach: but now i am debugging differences in the js 2d canvas path model and the pdf/postscript/vecto model 2020-01-30T01:26:00Z slyrus joined #lisp 2020-01-30T01:27:20Z msk_ quit (Remote host closed the connection) 2020-01-30T01:27:40Z msk_ joined #lisp 2020-01-30T01:27:52Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-30T01:29:21Z gabiruh_ joined #lisp 2020-01-30T01:30:05Z gabiruh quit (Ping timeout: 246 seconds) 2020-01-30T01:31:48Z fsmunoz quit (Ping timeout: 248 seconds) 2020-01-30T01:32:06Z davepdotorg joined #lisp 2020-01-30T01:33:37Z fiddlerwoaroof joined #lisp 2020-01-30T01:33:46Z slyrus_ joined #lisp 2020-01-30T01:36:35Z slyrus quit (Ping timeout: 268 seconds) 2020-01-30T01:36:55Z davepdotorg quit (Ping timeout: 272 seconds) 2020-01-30T01:37:42Z lxbarbos` joined #lisp 2020-01-30T01:38:50Z msk_ quit (Ping timeout: 240 seconds) 2020-01-30T01:40:03Z msk joined #lisp 2020-01-30T01:41:22Z ebzzry joined #lisp 2020-01-30T01:41:39Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-01-30T01:42:00Z madand_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-01-30T01:43:41Z jeosol quit (Remote host closed the connection) 2020-01-30T01:43:49Z madand joined #lisp 2020-01-30T01:44:45Z msk quit (Remote host closed the connection) 2020-01-30T01:45:07Z msk joined #lisp 2020-01-30T01:49:52Z milanj quit (Quit: This computer has gone to sleep) 2020-01-30T01:56:23Z ebzzry quit (Read error: Connection reset by peer) 2020-01-30T01:58:50Z msk quit (Remote host closed the connection) 2020-01-30T01:59:09Z msk joined #lisp 2020-01-30T02:01:40Z asdf_asdf_asdf joined #lisp 2020-01-30T02:01:49Z statusf90 quit (Quit: statusf90) 2020-01-30T02:02:14Z asdf_asdf_asdf: Hi. Which encoding (ASCII, UTF-8, etc.) return value 0xffff as one character? 2020-01-30T02:03:06Z pjb: asdf_asdf_asdf: none. 2020-01-30T02:03:30Z pjb: asdf_asdf_asdf: 0xffff is a symbol. 2020-01-30T02:03:36Z pjb: (type-of '0xffff) #| --> symbol |# 2020-01-30T02:03:53Z karlosz joined #lisp 2020-01-30T02:04:32Z asdf_asdf_asdf: pjb, thank. I want in file put character, which return 0xffff value. 2020-01-30T02:06:39Z pjb: That is not possible. 0xffff is the representation of a symbol! 2020-01-30T02:06:42Z pjb: This is #lisp! 2020-01-30T02:08:40Z asdf_asdf_asdf: Yes, I put in file character and next in Common Lisp I get character from stream. Later I want get character as 0xffff. Is other fashion to do? 2020-01-30T02:09:10Z vsync: asdf_asdf_asdf: #xFFFF :-) 2020-01-30T02:10:01Z aeth: As a rule of thumb, all of that weird stuff tends to uniformly be after a # for CL, rather than having you (and the parser) guess, like with 0xffff 2020-01-30T02:10:02Z asdf_asdf_asdf: No. I parse the file, and (get character ... I want, that character was 0xffff value. 2020-01-30T02:10:32Z vsync: asdf_asdf_asdf: the joke is just you're giving the number in C syntax for hex, rather than CL syntax 2020-01-30T02:10:34Z aeth: asdf_asdf_asdf: I don't quite understand what you mean, but if you mean you want to convert between numbers and characters, you want CHAR-CODE and CODE-CHAR, depending on the direction 2020-01-30T02:11:02Z vsync: asdf_asdf_asdf: depending on your platform, $LC_CTYPE and friends may be important 2020-01-30T02:11:45Z gko joined #lisp 2020-01-30T02:11:54Z kmeow joined #lisp 2020-01-30T02:11:55Z pjb: asdf_asdf_asdf: utf-8 doesn't define a character set, only an encoding of some integers into sequences of bytes. 2020-01-30T02:12:14Z aeth: asdf_asdf_asdf: If you want to mess with encodings you probably want to use https://github.com/cl-babel/babel/ 2020-01-30T02:15:12Z ccl-logbot joined #lisp 2020-01-30T02:15:12Z 2020-01-30T02:15:12Z names: ccl-logbot kmeow gko karlosz asdf_asdf_asdf msk madand lxbarbos` slyrus_ fiddlerwoaroof gabiruh_ dale igemnace epony Nilby Oladon jonatack lnostdal Khisanth georgiePorgie v88m hiroaki z147 stepnem Bike zooey whiteline_ nullman kajo dyelar frgo splittist mn3m notzmv troydm oxum_ Odin- manualcrank brown121408 tomaw pok jasom mathrick shka_ oni-on-ion ck_ sysz swills fowlduck jfb4 _jrjsmrtn dddddd emacsomancer Nistur Tordek X-Scale CrazyEddy jprajzne_ Posterdati 2020-01-30T02:15:12Z names: greaser|q aeth madage Kaisyu7 snits Gerd Lord_of_Life sammich quazimodo jxy gigetoo edgar-rft ym zmt00 parisienne_ MinnowTaur zaquest femi pjb jsatk travv0 davsebamse entel Oddity johs stylewarning HDurer phlim p_l DGASAU jbgg bjorkintosh sgithens sveit_ @fe[nl]ix Blkt jprajzne lemoinem lavaflow patrixl funnel acolarh xantoz isoraqathedh rwcom _whitelogger jello_pudding galdor aindilis phadthai cartwright akrl`` stux|RC Intensity copec easye kark cg505 Josh_2 2020-01-30T02:15:12Z names: Jesin MetaYan dmiles APic froggey cyberlard voidlily jibanes oldtopman terpri cgay malfort fengshaun philadendrite earl-ducaine rumbler31 mrcom avicenna CEnnis91 Kevslinger physpi sabrac drmeister Kaisyu jlpeters bytesighs hdasch specbot minion surrounder rotty brass samebchase cmatei cdegroot Colleen eeeeeta dxtr dsp- jdz moon-child vaporatorius phoe theruran Gnuxie[m] eriix[m] malaclyps[m] EuAndreh[m] katco tadni Irenes[m] djeis[m] nonlinear[m] 2020-01-30T02:15:12Z names: no-defun-allowed LdBeth nckx spal gingerale trn mfiano sbryant heredoc hiredman Grue`` Grauwolf lieven asedeno grumpyvegetable dkrm thecoffemaker abbe Zotan drot eagleflo_ jackhill vydd larme vidak` lbtjp gabc housel karstensrage null_ptr beaky mjsir911 samebchase- Demosthenex nirved thijso dilated_dinosaur trittweiler bkst hostile tumdum lonjil cyraxjoe doublex__ ravndal ozzloy Krystof lowryder rumpelszn gjnoonan mgsk grobe0ba hjudt datajerk mason 2020-01-30T02:15:12Z names: CommanderViral1 leo_song flazh znc_jme bars0 remexre Balooga jerme_ tfb gaqwas cnomad glamas surrealpie ssake zigpaw alandipert scal nightfly ft drewc fouric simplegauss_ Ekho payphone_ aap boeg swflint Mon_Ouie jackdaniel flip214 lispyone_ tazjin kilimanjaro XachX rvirding rme banjiewen hydan jhei billstclair pent mjl gendl chewbranca lukego l1x selwyn h11 theBlackDragon koenig keja xlei SlashLife HiRE rixard krisfris niceplace TMA cpape loke hvxgr 2020-01-30T02:15:12Z names: stux|RC-only DataLinkDroid fitzsim cods White_Flame Shinmera jcob Xach idxu beach joast mister_m Lord_Nightmare dvdmuckle whartung wooden grumble bacterio ioa penguwin ``Erik shinohai ult markasoftware b0nn drainful interruptinuse uint gabot guaqua [df] jurov chipolux antoszka Kabriel azrazalea AdmiralBumbleBee Nikotiini wigust eMBee micro spacedbat shenghi creat_ SumoSud0 matijja nchambers cracauer zymurgy vsync Ankhers cpt_nemo otwieracz mrSpec vhost- 2020-01-30T02:15:12Z names: thonkpod luis zagura emma mood ecraven michalisko xristos _death mbrumlow quantico Fade |3b| sukaeto seisatsu akkad astronavt sepi`` cross old-possum tabaqui jgkamat z0d saturn2 dlowe d4ryus ramus equwal eschatologist justinmcp_ cwaydt kini add^__ Patzy Ziemas knobo 2020-01-30T02:15:27Z aeth: You have to know exactly what you're working with or else you're going to just get noise. 2020-01-30T02:15:29Z pjb: asdf_asdf_asdf: So it is absolutely impossible to store in a text file, A unicode characters in the UTF-8 format that has the codepoint value #xffff. Totally impossible, guaranteed by 6 different versions of the unicode standard. 2020-01-30T02:15:29Z asdf_asdf_asdf: Alright. Is encoding, which encode my character in file as #xFFFF (65535)? 2020-01-30T02:16:13Z aeth: asdf_asdf_asdf: Do you want the unicode character FFFF or do you want to find out what (probably Unicode) encoding encodes some character as FFFF? 2020-01-30T02:16:30Z pjb: asdf_asdf_asdf: you could read the utf-8 file as a binary file and decode the utf-8 bytes into codepoints integers, and get the codepoint #xffff. But you couldn't do that with characters. 2020-01-30T02:16:46Z pjb: You cannot do that if the file is a text file. Only if it is a BINARY file. 2020-01-30T02:16:53Z aeth: pjb: Unfortunately, unless asdf_asdf_asdf's project changed, it involves Windows, so it's not as simple as UTF-8 2020-01-30T02:16:56Z pjb: And you have to do the utf-8 decoding yourself. 2020-01-30T02:17:58Z orivej joined #lisp 2020-01-30T02:18:02Z pjb: aeth: there is no, and never will be any unicode grapheme cluster that has as codepoint the value #xffff!!! This is something that is guaranteed by the unicode standard! 2020-01-30T02:18:30Z aeth: pjb: asdf_asdf_asdf might want something impossible. 2020-01-30T02:18:41Z pjb: https://www.unicode.org/charts/PDF/UFFF0.pdf 2020-01-30T02:18:54Z pjb: aeth: this is what I've been explaining for ten minutes! 2020-01-30T02:19:53Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-30T02:20:35Z asdf_asdf_asdf: I ask about other encoding outside UNICODE. Another encoding is possible, to encode character as value #xFFFF? I get character from file character by character. 2020-01-30T02:23:09Z Xach: asdf_asdf_asdf: why? 2020-01-30T02:23:22Z pjb: asdf_asdf_asdf: I told you, not in ascii!!! Not in iso-8859 and other 8-bit coding system either. 2020-01-30T02:23:34Z Nilby: UTF-16 has sixteen bit wide characters, but to literally represent #xFFFF, like with the char-int or char-code function, UTF-16 has escape codes to a second 16 bit 'character'. 2020-01-30T02:24:11Z Nilby: But lower numbered character are mostly in 16 bites. 2020-01-30T02:24:16Z Nilby: *bits. 2020-01-30T02:24:24Z aeth: asdf_asdf_asdf: It is probably (hopefully!) *a* Unicode encoding, the question is which. If it's not, you can never know for sure, and can only use heuristics. 2020-01-30T02:24:30Z aeth: If I'm understanding your question correctly. 2020-01-30T02:25:03Z aeth: Most encodings are 8-bit (like extended ASCII), though. 2020-01-30T02:31:00Z pjb: aeth: no, #xffff is NOT any unicode encoding. This is guaranteed by the 6 nope, the FUCKING 12 unicode standards so far! 2020-01-30T02:32:35Z pjb: Whether you encode it in utf-8, utf-16, ucs-32 of the fuck the format you use, there is no, and never will be any grapheme cluster encoded by #xffff. This is a fundamental property of unicode. Like it is a fundamental property of ASCII to use codes between #x00 and #x7e, and no other. 2020-01-30T02:33:31Z pjb: Now, for other encoding, it is possible that there exist one that uses the value #xffff to encode something, but it is rather improbable, because if it existed, it would probably have been integrated in unicode… 2020-01-30T02:34:03Z pjb: Also, utf-8 has been designed to be used with unicode, it is also improbable that it is used by other encodings. 2020-01-30T02:34:17Z pjb: Has anybody invented a new encoding since unicode exists? 2020-01-30T02:34:20Z aeth: pjb: so you're saying that if you're reading a file and come across #xffff (or #xff #xff) it cannot be unicode? 2020-01-30T02:34:29Z pjb: Right. 2020-01-30T02:35:00Z pjb: You cannot come across #xff #xff if it is a utf-8 file 2020-01-30T02:35:05Z Nilby: I like the unoffical UTF-8b which handles #xffff or anything. 2020-01-30T02:35:31Z pjb: Nilby: you can encode #xffff in a utf-8 file, but this codepoint doesn't represent any graphem cluster. 2020-01-30T02:35:54Z pjb: Note, you encode an integer into utf-8, not anything of any other type. 2020-01-30T02:37:21Z Nilby: That's true. But sometimes one is more concerned with preserving data, and not getting encoding errors, than displaying graphemes. 2020-01-30T02:37:28Z aeth: asdf_asdf_asdf: What context is this coming up in? 2020-01-30T02:41:28Z Nilby: For example, if you want to "cat" a file of unknown encoding, or binary data, but also use it as a Lisp stream, of maybe something you can look at, but also preserve the actual bytes, then something like UTF-8b or some equivalent is useful. 2020-01-30T02:41:41Z msk_ joined #lisp 2020-01-30T02:42:02Z msk quit (Read error: Connection reset by peer) 2020-01-30T02:42:47Z aeth: Nilby: I'm not entirely sure what asdf_asdf_asdf is doing because "I get character from file character by character" doesn't make sense in the context of Common Lisp terminology because characters don't get you (unsigned-byte 16)s. And if it's CFFI, afaik C chars are 8 bit? 2020-01-30T02:43:45Z aeth: s/characters don't/read-char doesn't/ 2020-01-30T02:44:06Z aeth: I'm suspecting that asdf_asdf_asdf is doing some FFI, too. 2020-01-30T02:44:20Z msk_ quit (Remote host closed the connection) 2020-01-30T02:44:31Z aeth: If we can get more context, we can provide a solution to the encoding mess. Maybe. 2020-01-30T02:44:39Z msk_ joined #lisp 2020-01-30T02:45:43Z Nilby: If I'm right, I think it's the problem I'm familiar with of wanting to mix Lisp character and binary streams without encoding errors. Bi-valent streams are great for that, but they don't solve the encoding errors. 2020-01-30T02:46:31Z aeth: Nilby: Most of asdf_asdf_asdf's recent questions have been related to SBCL-specific FFI in #sbcl afaik, so that sort of FFI is probably involved, adding the complexity of inter-language conversion, too. 2020-01-30T02:47:10Z aeth: Nilby: i.e. I think some C function is (maybe) giving (unsigned-byte 16)s and now those need to be made sense of in CL 2020-01-30T02:47:24Z aeth: But this is just speculation without further context 2020-01-30T02:49:16Z Nilby: It it's an issue with FFI's, usually from old C, which don't care about encoding, but also just reading with Lisp streams too. 2020-01-30T02:50:07Z aeth: Turning #xFFFF from some random C or C++ API into a CL character requires further context because CODE-CHAR isn't going to be helpful. And, you know, I think this is exactly what's going on. In SBCL, (code-char #xffff) => #\UFFFF 2020-01-30T02:50:14Z aeth: close to the "this character is \U+FFFF." 2020-01-30T02:51:39Z Nilby: I think at this point, I'm actually glad that (code-char #xffff) => #\UFFFF, rather than give an encoding error. 2020-01-30T02:52:55Z v88m quit (Ping timeout: 272 seconds) 2020-01-30T02:53:15Z aeth: ECL matches SBCL. CCL gives #\U+FFFF 2020-01-30T02:57:12Z ebzzry joined #lisp 2020-01-30T02:57:29Z msk_ quit (Read error: Connection reset by peer) 2020-01-30T02:57:46Z msk joined #lisp 2020-01-30T03:01:17Z karlosz quit (Quit: karlosz) 2020-01-30T03:09:27Z pjb: aeth: you cannot turn #xffff into a character, because there is no unicode grapheme cluster that has this code. 2020-01-30T03:09:50Z pjb: aeth: what you can do, as I explained above, is to decode the utf-8 sequence yourself, and obtain #xffff. see: https://termbin.com/v4r0 2020-01-30T03:10:04Z pjb: Nilby: you're assuming too much. 2020-01-30T03:10:51Z pjb: An implementation could return NIL. An implementation honest to unicode would return NIL. 2020-01-30T03:11:14Z Nilby: pjb: You're probbly right. I'm sometimes quite an over-assumer. 2020-01-30T03:12:00Z Nilby: Like it's a pretty big assumtion that someday people might use Lisp software I write. 2020-01-30T03:12:38Z aeth: pjb: well CLISP is #\UFFFF 2020-01-30T03:12:43Z z147 quit (Ping timeout: 240 seconds) 2020-01-30T03:12:47Z aeth: pjb: so now I'm 4 for 4 in implementations I'm testing returning something like that 2020-01-30T03:13:23Z pjb: aeth: all implementations can be wrong. 2020-01-30T03:13:31Z aeth: pjb: if it's Windows FFI (not sure if it is, asdf_asdf_asdf was doing that a long time ago) we can't assume UTF 8 2020-01-30T03:13:38Z aeth: Windows is... crazy. 2020-01-30T03:13:46Z aeth: or, um, "backwards compatible" 2020-01-30T03:13:55Z dale_ joined #lisp 2020-01-30T03:14:14Z shifty joined #lisp 2020-01-30T03:15:06Z pjb: aeth: now, unicode doesn't define characters, but grapheme clusters, so implementations may define cl:character as they wish, but I still find it untasty, and untrue to unicode to have (code-char #xffff) return anything else than NIL. 2020-01-30T03:15:08Z aeth: pjb: and, yeah, they shouldn't be saying "You have the char \U+FFFF" (which is how we got into such a long discussion) they should be saying "you're doing something wrong somewhere" and now the question is where. 2020-01-30T03:15:54Z pjb: aeth: and note that it's not because (code-char #xffff) returns #\u+ffff that decoding from utf-8 won't signal an error for such a code! This is the case in ccl, IIRC. 2020-01-30T03:16:25Z pjb: Because utf-8 -> codepoints -> unicode -> cl:character, and there is no unicode grapheme cluster for #xffff! 2020-01-30T03:17:28Z pjb: also: Since RFC 3629 (November 2003), the high and low surrogate halves used by UTF-16 (U+D800 through U+DFFF) and code points not encodable by UTF-16 (those after U+10FFFF) are not legal Unicode values, and their UTF-8 encoding must be treated as an invalid byte sequence. 2020-01-30T03:17:41Z aeth: asdf_asdf_asdf: how are you getting a #xFFFF ? 2020-01-30T03:17:43Z dale quit (Ping timeout: 268 seconds) 2020-01-30T03:18:33Z dale_ quit (Ping timeout: 265 seconds) 2020-01-30T03:21:49Z dale joined #lisp 2020-01-30T03:23:06Z zooey quit (Quit: quit) 2020-01-30T03:24:20Z dale_ joined #lisp 2020-01-30T03:24:32Z dale quit (Disconnected by services) 2020-01-30T03:24:38Z dale_ is now known as dale 2020-01-30T03:27:12Z dale_ joined #lisp 2020-01-30T03:27:31Z dale quit (Disconnected by services) 2020-01-30T03:27:35Z dale_ is now known as dale 2020-01-30T03:29:20Z zooey joined #lisp 2020-01-30T03:31:17Z EvW joined #lisp 2020-01-30T03:32:15Z developernotes joined #lisp 2020-01-30T03:32:41Z davepdotorg joined #lisp 2020-01-30T03:34:46Z developernotes quit (Client Quit) 2020-01-30T03:35:02Z developernotes joined #lisp 2020-01-30T03:35:45Z developernotes quit (Client Quit) 2020-01-30T03:36:36Z developernotes joined #lisp 2020-01-30T03:36:57Z developernotes quit (Client Quit) 2020-01-30T03:37:14Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-30T03:44:31Z v88m joined #lisp 2020-01-30T03:48:03Z zooey quit (Ping timeout: 240 seconds) 2020-01-30T03:48:18Z zooey joined #lisp 2020-01-30T03:51:38Z quazimodo quit (Ping timeout: 240 seconds) 2020-01-30T03:53:54Z quazimodo joined #lisp 2020-01-30T03:59:21Z Bike quit (Quit: Lost terminal) 2020-01-30T04:00:02Z asdf_asdf_asdf quit (Read error: Connection reset by peer) 2020-01-30T04:13:06Z gravicappa joined #lisp 2020-01-30T04:13:13Z loke: aeth: Isn't Windows using a mix of native legacy encodings and UTF-16? And then a lot of software on TOP of Windows uses UTF-8, but afaik Windows itself doesn't provide any supprot for UTF-8 2020-01-30T04:16:17Z slyrus__ joined #lisp 2020-01-30T04:17:23Z EvW quit (Ping timeout: 245 seconds) 2020-01-30T04:17:44Z gabiruh_ quit (Quit: ZNC - 1.6.0 - http://znc.in) 2020-01-30T04:17:57Z aeth: loke: you should probably address that at pjb 2020-01-30T04:18:01Z gabiruh joined #lisp 2020-01-30T04:18:58Z slyrus_ quit (Ping timeout: 265 seconds) 2020-01-30T04:24:57Z dddddd quit (Remote host closed the connection) 2020-01-30T04:25:05Z lxbarbos` quit (Ping timeout: 246 seconds) 2020-01-30T04:29:08Z space_otter joined #lisp 2020-01-30T04:38:44Z Oladon quit (Quit: Leaving.) 2020-01-30T04:39:45Z Josh_2 quit (Ping timeout: 265 seconds) 2020-01-30T04:45:15Z aindilis quit (Remote host closed the connection) 2020-01-30T04:56:19Z karlosz joined #lisp 2020-01-30T05:00:42Z v88m quit (Ping timeout: 268 seconds) 2020-01-30T05:03:34Z FreeBirdLjj joined #lisp 2020-01-30T05:05:33Z asarch joined #lisp 2020-01-30T05:05:52Z davepdotorg joined #lisp 2020-01-30T05:07:28Z aindilis joined #lisp 2020-01-30T05:08:27Z vlatkoB joined #lisp 2020-01-30T05:10:02Z froggey quit (Ping timeout: 240 seconds) 2020-01-30T05:10:21Z FreeBirdLjj quit (Ping timeout: 272 seconds) 2020-01-30T05:10:26Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-30T05:11:12Z FreeBirdLjj joined #lisp 2020-01-30T05:11:38Z toorevitimirp joined #lisp 2020-01-30T05:13:51Z Oladon joined #lisp 2020-01-30T05:16:44Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-30T05:17:10Z froggey joined #lisp 2020-01-30T05:20:21Z FreeBirdLjj joined #lisp 2020-01-30T05:22:40Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-01-30T05:23:48Z notzmv quit (Ping timeout: 260 seconds) 2020-01-30T05:24:43Z FreeBirdLjj joined #lisp 2020-01-30T05:26:15Z oni-on-ion quit (Remote host closed the connection) 2020-01-30T05:26:22Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-01-30T05:26:37Z oni-on-ion joined #lisp 2020-01-30T05:26:57Z FreeBirdLjj joined #lisp 2020-01-30T05:28:30Z FreeBirdLjj quit (Read error: Connection reset by peer) 2020-01-30T05:32:32Z v88m joined #lisp 2020-01-30T05:33:15Z FreeBirdLjj joined #lisp 2020-01-30T05:36:19Z oxum_ quit (Remote host closed the connection) 2020-01-30T05:36:25Z narimiran joined #lisp 2020-01-30T05:40:10Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-30T05:41:50Z zaquest quit (Quit: Leaving) 2020-01-30T05:43:07Z zaquest joined #lisp 2020-01-30T05:43:46Z karlosz quit (Quit: karlosz) 2020-01-30T05:44:17Z karlosz joined #lisp 2020-01-30T05:46:52Z georgiePorgie joined #lisp 2020-01-30T05:51:22Z notzmv joined #lisp 2020-01-30T05:57:03Z _whitelogger quit (Remote host closed the connection) 2020-01-30T05:59:01Z oxum joined #lisp 2020-01-30T05:59:01Z ebzzry quit (Read error: Connection reset by peer) 2020-01-30T05:59:15Z _whitelogger joined #lisp 2020-01-30T05:59:25Z FreeBirdLjj joined #lisp 2020-01-30T06:04:05Z shrdlu68 joined #lisp 2020-01-30T06:06:46Z karlosz quit (Quit: karlosz) 2020-01-30T06:14:03Z Oladon quit (Quit: Leaving.) 2020-01-30T06:15:25Z dale quit (Quit: My computer has gone to sleep) 2020-01-30T06:17:09Z Emblemat joined #lisp 2020-01-30T06:17:13Z shangul joined #lisp 2020-01-30T06:17:34Z Emblemat is now known as asdf_asdf_asdf 2020-01-30T06:20:19Z sauvin joined #lisp 2020-01-30T06:21:25Z asarch quit (Quit: Leaving) 2020-01-30T06:22:18Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-30T06:30:40Z jeosol joined #lisp 2020-01-30T06:30:49Z trittweiler quit (Quit: Leaving) 2020-01-30T06:31:00Z trittweiler joined #lisp 2020-01-30T06:36:40Z beach: Good morning everyone! 2020-01-30T06:38:18Z malm joined #lisp 2020-01-30T06:42:07Z Nilby: Good morning 2020-01-30T06:45:48Z shrdlu68: Good morning #lisp! 2020-01-30T06:46:40Z shrdlu68: Has anyone here worked with Screamer? https://nikodemus.github.io/screamer 2020-01-30T06:46:40Z shka_ quit (Ping timeout: 265 seconds) 2020-01-30T06:48:52Z oxum_ joined #lisp 2020-01-30T06:49:33Z oxum quit (Ping timeout: 260 seconds) 2020-01-30T06:53:27Z karlosz joined #lisp 2020-01-30T06:57:47Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-30T06:59:47Z jjong joined #lisp 2020-01-30T07:03:32Z FreeBirdLjj joined #lisp 2020-01-30T07:10:01Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-30T07:13:34Z JohnMS_WORK joined #lisp 2020-01-30T07:16:42Z oxum joined #lisp 2020-01-30T07:20:28Z oxum_ quit (Ping timeout: 260 seconds) 2020-01-30T07:23:57Z ebzzry joined #lisp 2020-01-30T07:23:59Z brown121408 quit (Ping timeout: 272 seconds) 2020-01-30T07:24:46Z JohnMS_WORK quit (Read error: Connection reset by peer) 2020-01-30T07:25:06Z JohnMS_WORK joined #lisp 2020-01-30T07:25:17Z brown121408 joined #lisp 2020-01-30T07:35:49Z msk quit (Read error: Connection reset by peer) 2020-01-30T07:36:09Z msk joined #lisp 2020-01-30T07:39:30Z wxie joined #lisp 2020-01-30T07:41:54Z msk_ joined #lisp 2020-01-30T07:41:56Z FreeBirdLjj joined #lisp 2020-01-30T07:42:20Z msk quit (Read error: Connection reset by peer) 2020-01-30T07:43:26Z X-Scale` joined #lisp 2020-01-30T07:45:31Z X-Scale quit (Ping timeout: 272 seconds) 2020-01-30T07:45:31Z X-Scale` is now known as X-Scale 2020-01-30T07:45:36Z davepdotorg joined #lisp 2020-01-30T07:46:50Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-01-30T07:50:26Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-30T07:52:17Z ggole joined #lisp 2020-01-30T07:53:08Z hiroaki quit (Ping timeout: 260 seconds) 2020-01-30T07:54:40Z msk_ quit (Read error: Connection reset by peer) 2020-01-30T07:54:47Z msk joined #lisp 2020-01-30T08:00:26Z mn3m quit (Quit: mn3m) 2020-01-30T08:02:08Z frgo quit (Remote host closed the connection) 2020-01-30T08:02:17Z scymtym joined #lisp 2020-01-30T08:06:15Z v_m_v joined #lisp 2020-01-30T08:08:36Z wxie quit (Ping timeout: 268 seconds) 2020-01-30T08:14:38Z jjong quit (Remote host closed the connection) 2020-01-30T08:19:52Z Cymew joined #lisp 2020-01-30T08:20:33Z v_m_v quit (Ping timeout: 260 seconds) 2020-01-30T08:26:55Z frgo joined #lisp 2020-01-30T08:28:54Z frgo quit (Remote host closed the connection) 2020-01-30T08:29:04Z frgo joined #lisp 2020-01-30T08:29:12Z frgo quit (Remote host closed the connection) 2020-01-30T08:29:40Z frgo joined #lisp 2020-01-30T08:36:46Z frgo quit (Remote host closed the connection) 2020-01-30T08:36:55Z frgo joined #lisp 2020-01-30T08:37:03Z frgo quit (Remote host closed the connection) 2020-01-30T08:37:32Z frgo joined #lisp 2020-01-30T08:42:23Z frgo quit (Ping timeout: 265 seconds) 2020-01-30T08:42:54Z Odin-: pjb: You are wrong. Noncharacters are _explicitly_ allowed to appear in Unicode strings and must not be mangled by text processing interfaces. It is recommended that when encountered in general interchange they be replaced by the replacement character (�), but this should not be done transparently by a Unicode-handling API. 2020-01-30T08:43:41Z frgo joined #lisp 2020-01-30T08:44:20Z jackdaniel: unicode is more a text formatting declarative language than encoding 2020-01-30T08:44:29Z Odin-: See, as the current example, §23.7 of Unicode 12. 2020-01-30T08:47:53Z Odin-: jackdaniel: It really isn't, though, because it doesn't have any actual formatting controls. :p 2020-01-30T08:50:21Z aeth: Odin-: ������! ���� ����� �����! 2020-01-30T08:50:22Z jackdaniel: soft-newline, hard-newline, make this face brownier ,) 2020-01-30T08:50:23Z aeth: :p 2020-01-30T08:51:25Z Odin-: aeth: That just puts me in mind of comic book cursing. :) 2020-01-30T08:52:04Z jackdaniel: ah, and this part of text should be rtl, but only that 2020-01-30T08:52:17Z Odin-: jackdaniel: Well, in that case an awful lot of ASCII is format control, too. 2020-01-30T08:52:24Z mingus joined #lisp 2020-01-30T08:52:34Z aeth: Odin-: I actually censored "Thanks! That makes sense!" But I guess 4-5 letter words when sensored do look like cursing. 2020-01-30T08:52:36Z Odin-: Even if only a couple of those characters are actually used. 2020-01-30T08:53:52Z Odin-: aeth: Well, in particular it puts me in mind of Lucky Luke, which sometimes used very ... embellished forms of censoring. 2020-01-30T08:53:58Z aeth: Odin-: ASCII has a whole database thing going on that no one uses. 2020-01-30T08:54:10Z Odin-: Yeah, which I wish people did. 2020-01-30T08:54:10Z jjong joined #lisp 2020-01-30T08:54:35Z Odin-: Why the fuck use CSV when you have the seperator codes? 2020-01-30T08:54:39Z Odin-: :p 2020-01-30T08:54:49Z aeth: The problem is that the editor would have to replace the unprintable database characters with the printable versions that Unicode has. 2020-01-30T08:55:13Z aeth: And at that point you might as well just use the printable versions because they're so rare you'd rarely need to escape them! 2020-01-30T08:55:47Z Odin-: It mostly gets down to "it's difficult to type" terrain, which, despite the way I'm talking, I understand perfectly well. 2020-01-30T08:56:16Z Odin-: There are standard ways to represent the control characters, though. 2020-01-30T08:56:36Z Nilby: I think Unicode naïvely tries to assign some semantics to characters rather than just numbers, which once humans see the diversity of galactic languages, such standardized codifying of cultural artifacts will be obviously unachievable. 2020-01-30T08:56:46Z Odin-: I'll probably mess someone's client up if I send any of them, though. 2020-01-30T08:56:52Z Odin-: Nilby: It ... doesn't. 2020-01-30T08:57:17Z aeth: Nilby: I think the Unicode committee is hoping that intelligent life isn't discovered elsewhere in the galaxy, more than any other group. 2020-01-30T08:57:33Z Nilby: Capitalization, Numeric value, printing width, etc. 2020-01-30T08:58:12Z Nilby: Like I said. naïve. 2020-01-30T08:58:33Z Shinmera: Can we get back Lisp here, thanks 2020-01-30T08:59:59Z aeth: Nilby: It could be worse. You could have all of that, but also automatically try to upcase everything... :p 2020-01-30T09:00:55Z Odin-: Nilby: Oh, so you're not suggesting ASCII was any better? 2020-01-30T09:01:13Z Odin-: (Which also assigned case semantics and numeric values.) 2020-01-30T09:01:35Z Nilby: Ok. Does any Lisp Unicode library has the current correct character widths, without call wcwidth ? 2020-01-30T09:01:43Z brown121408 quit (Ping timeout: 265 seconds) 2020-01-30T09:01:49Z Nilby: Odin: No ASCII is not better. 2020-01-30T09:03:12Z Odin-: aeth: Frankly, I think everyone's just glad nobody's found intelligent life on Earth yet. 2020-01-30T09:03:53Z milanj joined #lisp 2020-01-30T09:04:25Z Odin-: Nilby: What do you mean by "character width"? 2020-01-30T09:05:26Z Nilby: What the C wcwidth returns (if your OS ICU library is up to date), and say what character grid terminals think. 2020-01-30T09:05:35Z william1_ joined #lisp 2020-01-30T09:06:02Z Odin-: That has nothing to do with Unicode. 2020-01-30T09:06:16Z Nilby: I don't mean Font text rendering which is a whole other world. 2020-01-30T09:06:27Z Odin-: That _is_font rendering. 2020-01-30T09:06:38Z Nilby: It does. It's in the unicode data files. 2020-01-30T09:08:16Z Odin-: Because Unicode was designed to be able to round-trip any existing legacy encoding, and certain encodings for East Asian languages specified this. 2020-01-30T09:09:50Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-30T09:10:39Z Nilby: Not just East Asian, but every other script. What language doesn't use emoji's and technical characters? 2020-01-30T09:11:21Z Necktwi joined #lisp 2020-01-30T09:12:03Z Odin-: If you're not using a locale that makes a distinction between half-width and full-width, you can disregard the East_Asian_Width property. 2020-01-30T09:12:22Z jackdaniel: imo we should conclude this offtopic with: "unicode is here, there is no way back, so we need to deal with it". 2020-01-30T09:12:31Z jackdaniel: in other words, let's focus on Common Lisp 2020-01-30T09:12:43Z Odin- will shut up now. :) 2020-01-30T09:12:45Z jackdaniel: (#lispcafe suits unicode discussion better) 2020-01-30T09:12:52Z jackdaniel: thank you:) 2020-01-30T09:16:41Z hhdave joined #lisp 2020-01-30T09:16:46Z davepdotorg joined #lisp 2020-01-30T09:18:16Z Nilby quit (Quit: 👽愛🆑) 2020-01-30T09:20:05Z william1_ quit (Ping timeout: 265 seconds) 2020-01-30T09:25:30Z msk quit (Read error: Connection reset by peer) 2020-01-30T09:25:46Z msk joined #lisp 2020-01-30T09:28:31Z z147 joined #lisp 2020-01-30T09:28:41Z karlosz quit (Quit: karlosz) 2020-01-30T09:29:11Z karlosz joined #lisp 2020-01-30T09:29:18Z karlosz quit (Remote host closed the connection) 2020-01-30T09:29:43Z karlosz joined #lisp 2020-01-30T09:29:51Z karlosz quit (Remote host closed the connection) 2020-01-30T09:30:21Z karlosz joined #lisp 2020-01-30T09:30:27Z karlosz quit (Remote host closed the connection) 2020-01-30T09:30:52Z karlosz joined #lisp 2020-01-30T09:30:59Z karlosz quit (Remote host closed the connection) 2020-01-30T09:31:24Z karlosz joined #lisp 2020-01-30T09:31:31Z karlosz quit (Remote host closed the connection) 2020-01-30T09:31:55Z karlosz joined #lisp 2020-01-30T09:32:04Z karlosz quit (Remote host closed the connection) 2020-01-30T09:32:56Z mingus quit (Ping timeout: 265 seconds) 2020-01-30T09:33:40Z shrdlu68: How do I make slime-compile-defun compile defun in a certain package? 2020-01-30T09:36:25Z mingus joined #lisp 2020-01-30T09:36:45Z mingus quit (Client Quit) 2020-01-30T09:45:40Z toorevitimirp quit (Ping timeout: 248 seconds) 2020-01-30T09:45:56Z JohnMS joined #lisp 2020-01-30T09:47:06Z asdf_asdf_asdf left #lisp 2020-01-30T09:48:53Z JohnMS_WORK quit (Ping timeout: 265 seconds) 2020-01-30T09:50:35Z georgiePorgie joined #lisp 2020-01-30T09:50:55Z datajerk quit (Ping timeout: 272 seconds) 2020-01-30T09:52:40Z william1 joined #lisp 2020-01-30T09:52:48Z william1 quit (Client Quit) 2020-01-30T09:53:15Z william1 joined #lisp 2020-01-30T09:53:47Z samebchase-3 joined #lisp 2020-01-30T09:54:24Z hdasch quit (Ping timeout: 265 seconds) 2020-01-30T09:54:28Z samebchase- quit (Ping timeout: 260 seconds) 2020-01-30T09:54:35Z hdasch joined #lisp 2020-01-30T09:54:49Z madrik joined #lisp 2020-01-30T09:56:10Z samebchase-3 is now known as samebchase- 2020-01-30T09:58:37Z v_m_v joined #lisp 2020-01-30T09:59:35Z kmeow quit (Remote host closed the connection) 2020-01-30T09:59:58Z kmeow joined #lisp 2020-01-30T09:59:58Z FreeBirdLjj joined #lisp 2020-01-30T10:05:06Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-30T10:06:26Z william1 quit (Quit: WeeChat 2.6) 2020-01-30T10:06:34Z FreeBirdLjj joined #lisp 2020-01-30T10:06:40Z datajerk joined #lisp 2020-01-30T10:07:45Z Shinmera: put in-package before it, I guess. 2020-01-30T10:08:49Z msk quit (Remote host closed the connection) 2020-01-30T10:09:07Z msk joined #lisp 2020-01-30T10:11:23Z hhdave quit (Ping timeout: 260 seconds) 2020-01-30T10:11:30Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-30T10:11:39Z hhdave joined #lisp 2020-01-30T10:13:02Z JohnMS_WORK joined #lisp 2020-01-30T10:16:03Z vlatkoB quit (Read error: Connection reset by peer) 2020-01-30T10:16:22Z JohnMS quit (Ping timeout: 260 seconds) 2020-01-30T10:16:31Z vlatkoB joined #lisp 2020-01-30T10:19:20Z ebzzry joined #lisp 2020-01-30T10:26:02Z shifty quit (Ping timeout: 240 seconds) 2020-01-30T10:26:36Z shifty joined #lisp 2020-01-30T10:29:19Z pjb: Odin-: I know about the replacement character, and the request for the API to do it explicitely. But the question was explicitely to obtain a character with #xffff as codepoint. He didn't want to be able to read a utf-8 sequence #(239 191 191) and obtain a replacement character or other… 2020-01-30T10:29:48Z Odin-: He shouldn't. 2020-01-30T10:32:12Z ccl-logbot joined #lisp 2020-01-30T10:32:12Z 2020-01-30T10:32:12Z names: ccl-logbot shifty ebzzry vlatkoB JohnMS_WORK hhdave msk datajerk kmeow v_m_v madrik hdasch samebchase- georgiePorgie z147 davepdotorg Necktwi milanj jjong frgo Cymew scymtym ggole X-Scale oxum malm trittweiler jeosol sauvin shangul shrdlu68 _whitelogger notzmv zaquest narimiran v88m oni-on-ion froggey aindilis space_otter gabiruh slyrus__ gravicappa quazimodo zooey orivej gko madand fiddlerwoaroof igemnace epony jonatack lnostdal Khisanth stepnem 2020-01-30T10:32:12Z names: whiteline_ nullman kajo dyelar splittist troydm Odin- manualcrank tomaw pok jasom mathrick ck_ sysz swills fowlduck jfb4 _jrjsmrtn emacsomancer Nistur Tordek CrazyEddy jprajzne_ Posterdati greaser|q aeth madage Kaisyu7 snits Gerd Lord_of_Life sammich jxy gigetoo edgar-rft ym zmt00 parisienne_ MinnowTaur femi pjb jsatk travv0 davsebamse entel Oddity johs stylewarning HDurer phlim p_l DGASAU jbgg bjorkintosh sgithens sveit_ @fe[nl]ix Blkt jprajzne lemoinem 2020-01-30T10:32:12Z names: lavaflow patrixl funnel acolarh xantoz isoraqathedh rwcom jello_pudding galdor phadthai cartwright akrl`` stux|RC Intensity copec easye kark cg505 Jesin MetaYan dmiles APic cyberlard voidlily jibanes oldtopman terpri cgay malfort fengshaun philadendrite earl-ducaine rumbler31 mrcom avicenna CEnnis91 Kevslinger physpi sabrac drmeister Kaisyu jlpeters bytesighs specbot minion surrounder rotty brass samebchase cmatei cdegroot Colleen eeeeeta dxtr dsp- jdz 2020-01-30T10:32:12Z names: moon-child vaporatorius phoe theruran Gnuxie[m] eriix[m] malaclyps[m] EuAndreh[m] katco tadni Irenes[m] djeis[m] nonlinear[m] no-defun-allowed LdBeth nckx spal gingerale trn mfiano sbryant heredoc hiredman Grue`` Grauwolf lieven asedeno grumpyvegetable dkrm thecoffemaker abbe Zotan drot eagleflo_ jackhill vydd larme vidak` lbtjp gabc housel karstensrage null_ptr beaky mjsir911 Demosthenex nirved thijso dilated_dinosaur bkst hostile tumdum lonjil cyraxjoe 2020-01-30T10:32:12Z names: doublex__ ravndal ozzloy Krystof lowryder rumpelszn gjnoonan mgsk grobe0ba hjudt mason CommanderViral1 leo_song flazh znc_jme bars0 remexre Balooga jerme_ tfb gaqwas mood ecraven michalisko xristos _death mbrumlow quantico Fade |3b| sukaeto seisatsu akkad astronavt sepi`` cross old-possum tabaqui jgkamat z0d saturn2 dlowe d4ryus ramus equwal eschatologist justinmcp_ cwaydt kini add^__ Patzy Ziemas knobo emma zagura luis thonkpod vhost- mrSpec otwieracz 2020-01-30T10:32:12Z names: cpt_nemo Ankhers vsync zymurgy cracauer nchambers matijja SumoSud0 creat_ shenghi spacedbat micro eMBee wigust Nikotiini AdmiralBumbleBee azrazalea Kabriel antoszka chipolux jurov [df] guaqua gabot uint interruptinuse drainful b0nn markasoftware ult shinohai ``Erik penguwin ioa bacterio grumble wooden whartung dvdmuckle Lord_Nightmare mister_m joast beach idxu Xach jcob Shinmera White_Flame cods fitzsim DataLinkDroid stux|RC-only hvxgr loke cpape TMA 2020-01-30T10:32:12Z names: niceplace krisfris rixard HiRE SlashLife xlei keja koenig theBlackDragon h11 selwyn l1x lukego chewbranca gendl mjl pent billstclair jhei hydan banjiewen rme rvirding XachX kilimanjaro tazjin lispyone_ flip214 jackdaniel Mon_Ouie swflint boeg aap payphone_ Ekho simplegauss_ fouric drewc ft nightfly scal alandipert zigpaw ssake surrealpie glamas cnomad 2020-01-30T10:32:19Z Odin-: Hmm. 2020-01-30T10:32:27Z pjb: Definitely. 2020-01-30T10:32:40Z pjb: But again, I couldn't make him admit that he wanted just a codepoint, and not a character. 2020-01-30T10:33:17Z Odin-: That distinction is not particularly clear to everyone. :p 2020-01-30T10:33:51Z Shinmera: It is better to just not engage when it's clear the person is unreceptive. 2020-01-30T10:33:52Z pjb: Yes. I blame C. Furthermore, unicode doesn't make things easy, by not defining characters, but grapheme clusters… 2020-01-30T10:34:42Z jonatack quit (Ping timeout: 246 seconds) 2020-01-30T10:35:07Z cosimone joined #lisp 2020-01-30T10:35:23Z Odin-: I don't know, the exact same issue is in the Common Lisp standard. 2020-01-30T10:36:36Z Odin-: A (generally-understood-to-be) single character doesn't always correspond to a single codepoint, and yet the standard mandates that. 2020-01-30T10:36:53Z pvaneynd joined #lisp 2020-01-30T10:38:40Z hhdave quit (Ping timeout: 265 seconds) 2020-01-30T10:38:58Z pjb: Odin-: no, the CL standard doesn't talk about codepoints. The char-code doesn't need to be equal to the codepoint. 2020-01-30T10:40:15Z hhdave joined #lisp 2020-01-30T10:40:22Z pjb: Odin-: see for example: https://termbin.com/ueikw 2020-01-30T10:40:25Z Odin-: A char-code needs to be a (single) non-negative integer, though. 2020-01-30T10:41:14Z pjb: And when we need to integrate galactic scripts, this grapheme cluster and combining codepoints system will have to be greatly improved… 2020-01-30T10:42:21Z galdor: pjb I'm not sure I understand your example, is there a modern CL implementations where characters are not codepoints ? 2020-01-30T10:42:55Z galdor: vector of codepoints is a very practical representation for lots of unicode transormations 2020-01-30T10:43:08Z Odin-: pjb: I take it you have an example of possible variability that isn't accounted for by this system? 2020-01-30T10:43:31Z galdor: it's quite obvious when trying to do any kind of unicode-aware processing in other languages, where you end up transforming from/to byte vectors and codepoint vectors 2020-01-30T10:43:36Z pjb: galdor: unfortunately, no. No CL implementation implements unicode correctly IMO. 2020-01-30T10:43:52Z pjb: galdor: they all felt to the trap of efficiency. 2020-01-30T10:44:13Z Odin-: pjb: What would be a "correct" implementation? 2020-01-30T10:44:30Z pjb: Odin-: https://termbin.com/ueikw 2020-01-30T10:44:42Z Odin-: That's just more of the same. 2020-01-30T10:45:11Z pjb: Odin-: this makes cl:character = unicode grapheme clusters, which is consistent, ie correct. 2020-01-30T10:45:21Z Odin-: As in, that is no different from the current handling, it just moves the problem around by kinda-sorta defining more codepoints. 2020-01-30T10:45:33Z Odin-: Grapheme clusters are context-dependent. 2020-01-30T10:46:08Z pjb: There's indeed the problem of normalization. But that's a kludge of unicode. 2020-01-30T10:49:59Z Odin-: No, that's inherent to the problem domain unless you want to ignore existing encodings or explode the number of assigned codepoints. 2020-01-30T10:52:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-30T10:52:19Z galdor: I'm really not sure about using grapheme clusters as characters 2020-01-30T10:52:34Z galdor: it clashes with too many algorithms 2020-01-30T10:52:54Z galdor: and the efficiency issue is very real 2020-01-30T10:53:01Z Odin-: It leaves all the real problems unsolved, anyway. 2020-01-30T10:53:24Z galdor: which kind of problems ? 2020-01-30T10:53:36Z Odin-: Of dealing with text. 2020-01-30T10:54:34Z galdor: since character == codepoint, you can implement all unicode algorithms 2020-01-30T10:54:55Z galdor: and if you do not want to, it's not that hard to bind icu, you just need to map vector of characters to vector of 32 bit integers 2020-01-30T10:55:36Z Odin-: Yeah, see, those algorithms don't actually solve the issues either. :) 2020-01-30T10:56:24Z pjb: galdor: you should not implement any unicode algorith using cl:character, since characters are not integers, but codepoints are. 2020-01-30T10:56:45Z pjb: (code-char 55555) #| --> nil |# you're fucked if you try! 2020-01-30T10:57:42Z pjb: clhs code-char 2020-01-30T10:57:43Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_code_c.htm 2020-01-30T10:58:11Z galdor: characters are not integers, but characters map to character codes which are integers 2020-01-30T10:58:15Z frgo quit (Remote host closed the connection) 2020-01-30T10:58:40Z frgo joined #lisp 2020-01-30T10:59:05Z pjb: and the image of this map is different from the set of codepoints! 2020-01-30T10:59:07Z galdor: and while the standard does not mandate that character are unicode code points, modern CL I'm aware of make that choice, which is convenient 2020-01-30T10:59:15Z galdor: yes 2020-01-30T10:59:32Z galdor: and in the unicode standard, not all integer values are valid characters, but again, why is that a problem ? 2020-01-30T11:00:02Z Odin-: pjb: That's implementation-dependent, and not mandated by the Unicode standard. 2020-01-30T11:00:14Z galdor: as long as you only consider sane CL implementations, you can implement various processing tasks such as normalization, pluralization, segmentation, etc. 2020-01-30T11:00:36Z pjb: Odin-: indeed, in addition, trying would make your code non-conforming! 2020-01-30T11:00:42Z galdor: and for CL implementations using more exotic character representations, you can either implement the mapping character <-> codepoint yourself or just ignore them 2020-01-30T11:00:45Z pjb: So why would you do such a thing? 2020-01-30T11:00:51Z frgo quit (Remote host closed the connection) 2020-01-30T11:01:08Z Odin-: pjb: What? 2020-01-30T11:01:10Z frgo joined #lisp 2020-01-30T11:01:23Z Odin-: pjb: Non-conforming to what, exactly? 2020-01-30T11:01:26Z galdor: as in C, writing a program which does not depend on non-standard features is an exercice in futility 2020-01-30T11:01:32Z v_m_v left #lisp 2020-01-30T11:01:40Z pjb: Odin-: code that depend on an implementation-dependent feature is non-conforming by definition. 2020-01-30T11:01:47Z frgo quit (Remote host closed the connection) 2020-01-30T11:01:49Z pjb: Non-conforming to the standard. 2020-01-30T11:01:58Z galdor: then all useful programs are non-conforming 2020-01-30T11:02:02Z Odin-: The CL standard, then? 2020-01-30T11:02:03Z galdor: again, exercice in futility 2020-01-30T11:02:06Z pjb: This is the basis of any discussion in #lisp, yes. 2020-01-30T11:02:16Z frgo joined #lisp 2020-01-30T11:02:17Z pjb: galdor: you may try #sbcl if you prefer. 2020-01-30T11:02:22Z malaclyps[m] left #lisp 2020-01-30T11:02:23Z Odin-: In that case, any code that deals with characters in terms of code points is non-conforming. 2020-01-30T11:02:28Z Odin-: Ever. 2020-01-30T11:02:39Z pjb: Exactly. 2020-01-30T11:02:45Z pjb: If you want to process codepoints, use integers. 2020-01-30T11:02:52Z Odin-: Can't do that. 2020-01-30T11:03:01Z pjb: Of course. You do it in any other programming language. 2020-01-30T11:03:07Z pjb: Starting with C. 2020-01-30T11:03:27Z galdor: I find it disturbing that such a large part of the CL community is more interested in a dead standard than in trying to use the language to write useful programs 2020-01-30T11:03:44Z pjb: galdor: CL has perfetly good integers. 2020-01-30T11:04:13Z galdor: so I'm supposed to use (VECTOR INTEGER) for strings ? this is insane 2020-01-30T11:04:35Z pjb: galdor: no, you're supposed to use it for vectors of codepoints. 2020-01-30T11:04:50Z pjb: strings are vectors of characters, not of codepoints. 2020-01-30T11:05:02Z Odin-: pjb: Hm, no, wait. Can do that. Can't use strings at all, because reading those from a file is implementation-dependent. 2020-01-30T11:05:05Z galdor: well I'll continue to use the representation which actually works 2020-01-30T11:05:51Z galdor: ultimately not being "conforming" does not matter 2020-01-30T11:06:11Z pjb: to you. 2020-01-30T11:06:21Z galdor: to people trying to solve problems with CL 2020-01-30T11:06:36Z Odin-: A conforming CL implementation can only be an incomplete implementation of Unicode anyway. 2020-01-30T11:06:48Z galdor: I get it, CL is also very interesting as a pure language research subject 2020-01-30T11:07:03Z galdor: but it's not a crime to realize people have different needs 2020-01-30T11:07:14Z pjb: Did you realize it today? 2020-01-30T11:07:32Z pjb: Sure, I won't send the police to your home… you can sleep sound. 2020-01-30T11:07:36Z Odin-: pjb: Have you realised? 2020-01-30T11:07:41Z djeis[m] left #lisp 2020-01-30T11:07:42Z frgo quit (Ping timeout: 260 seconds) 2020-01-30T11:07:43Z Odin-: 'cause you sound like you haven't. 2020-01-30T11:07:51Z pjb: Odin-: I suggested #sbcl! 2020-01-30T11:07:51Z Odin-: Just pointing it out. 2020-01-30T11:08:18Z galdor: pjb: you're being unpleasant 2020-01-30T11:08:47Z edgar-rft quit (Remote host closed the connection) 2020-01-30T11:10:02Z jjong quit (Remote host closed the connection) 2020-01-30T11:11:54Z EvW joined #lisp 2020-01-30T11:12:58Z pjb: The fact that in CL characters are not integers may be unpleasant to you. I'd suggest you to swith to C. 2020-01-30T11:17:37Z sabrac: This unicode discussion is both fasinating and scary as I try to write a normalisation function 2020-01-30T11:21:16Z edgar-rft joined #lisp 2020-01-30T11:21:39Z Odin-: pjb: The only way in which the standard does not require characters to be integers is that I can't find any language in it that prevents multiple characters from having the same code. 2020-01-30T11:22:40Z Odin-: Characters in Lisp are codepoints. It's just not defined how they're mapped. 2020-01-30T11:23:31Z pjb: clhs char-int 2020-01-30T11:23:32Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_char_i.htm 2020-01-30T11:23:59Z pjb: While character attributes are purely implementation dependent, this is an open door for unicode support too. 2020-01-30T11:25:27Z galdor: the encoding used by CHAR-INT is implementation dependant, i.e. useless in the real world 2020-01-30T11:25:35Z galdor: this is the same issue than external formats 2020-01-30T11:25:55Z Odin-: Same is true of CHAR-CODE, actually. 2020-01-30T11:25:57Z galdor: which is why we end up using flexi-streams instead of something standard 2020-01-30T11:26:23Z Odin-: It's _all_ implementation-dependent, because there is no standard mapping of codepoints to characters. 2020-01-30T11:26:40Z galdor: CHAR-CODE returns a "character-code", i.e. character code n. 1. one of possibly several attributes of a character. 2. a non-negative integer less than the value of char-code-limit that is suitable for use as a character code[1]. 2020-01-30T11:27:18Z galdor: one could argue that either though CHAR-CODE talks about the "code attribute", both 1 and 2 apply 2020-01-30T11:27:40Z galdor: but the point is moot since major CL implementations reliabily use integers corresponding to codepoints 2020-01-30T11:27:42Z Odin-: galdor: The code attribute, though, is implementation-dependent. 2020-01-30T11:28:18Z galdor: what I'm trying to explain is that playing lawyer with the standard is fun and all, but it does not solve any problem for people trying to actually use the language 2020-01-30T11:28:48Z sysz quit (Quit: Quit) 2020-01-30T11:30:31Z gxt joined #lisp 2020-01-30T11:34:19Z msk quit (Remote host closed the connection) 2020-01-30T11:34:38Z elimik31 joined #lisp 2020-01-30T11:34:41Z msk joined #lisp 2020-01-30T11:35:43Z m00natic joined #lisp 2020-01-30T11:36:09Z Odin-: galdor: My point is that nowadays it wouldn't be sane to define implementation-defined attributes that make char-int and char-code different, so under normal assumptions either both are useful or neither is. 2020-01-30T11:36:10Z frgo joined #lisp 2020-01-30T11:37:08Z EvW quit (Ping timeout: 248 seconds) 2020-01-30T11:38:52Z galdor: sure 2020-01-30T11:39:09Z elimik31 quit (Remote host closed the connection) 2020-01-30T11:39:24Z galdor: funny thing is, Babel uses CHAR-CODE and never CHAR-INT 2020-01-30T11:39:41Z Odin-: I'm not saying you should use char-int. 2020-01-30T11:39:43Z Odin-: :) 2020-01-30T11:39:50Z EvW joined #lisp 2020-01-30T11:40:03Z galdor: but I guess Babel is non-conformant and should not be used; I mean who needs to actually manipulate encodings 2020-01-30T11:40:20Z Odin-: Yup. 2020-01-30T11:40:31Z jonatack joined #lisp 2020-01-30T11:41:50Z galdor: in a way I find it funny that so many CL veterans focus that much on being "conformant" when so many things in the CL standard is implementation-defined and therefore force developers to rely on non-conformant behaviours 2020-01-30T11:42:08Z elimik31 joined #lisp 2020-01-30T11:42:29Z galdor: external formats being, I believe, the most hilarious aspect 2020-01-30T11:43:12Z Odin- pokes at IEEE 754 with a long stick. 2020-01-30T11:43:52Z frgo quit (Ping timeout: 260 seconds) 2020-01-30T11:45:08Z galdor: floating point numbers are a mess in every language I know so it's too easy 2020-01-30T11:45:44Z FreeBirdLjj joined #lisp 2020-01-30T11:45:50Z galdor: it's not that bad in CL, as long as you do not need to actually handle NaN, +-Inf, etc. 2020-01-30T11:46:03Z ebzzry quit (Ping timeout: 265 seconds) 2020-01-30T11:46:31Z jackdaniel: implementations handle them given appropriate fpe-trap settings (of course as an extension) 2020-01-30T11:46:32Z Odin-: Yeah, but the interesting thing about CL is that you can have conforming implementation with different float rounding behaviour. 2020-01-30T11:47:06Z Odin-: Because it doesn't specify IEEE 754. 2020-01-30T11:47:20Z elimik31 quit (Read error: No route to host) 2020-01-30T11:47:21Z Odin-: Like virtually all other programming languages now do. 2020-01-30T11:47:28Z galdor: which just prove my point again on the fact that conformity to the standard is virtually useless 2020-01-30T11:47:44Z Odin-: Yes; my intent was to reinforce that point. :) 2020-01-30T11:47:54Z jackdaniel: standard specifies some common base, you can't specify *everything*. but having a conformant Common Lisp program is a prerequisite for possible extension unification (you don't have to look back at things, which are already specified) 2020-01-30T11:48:06Z pjb: galdor: it is not incompatible to focus on being confomant, and using the data type that correspond to what you want to process, possibly using conforming libraries. 2020-01-30T11:48:44Z galdor: extension unification won't happen, I've been told repeatedly that it's too much work, and just to use external libraries 2020-01-30T11:48:46Z pjb: galdor: so indeed, when you want to process codepoints and unicode grapheme clusters, you should instead use a conforming library with its own data types, instead of trying to use cl:character. 2020-01-30T11:48:47Z jackdaniel: also it is possible to port conforming programs, while programs which use non-conformant behavior are not 2020-01-30T11:49:10Z jackdaniel: one way of unification is creation of portability libraries. where did you use sb-thread instead of bt last time? 2020-01-30T11:49:12Z galdor: in practice, there are simply no CL implementations with maintainers interested in improving the situtation 2020-01-30T11:49:15Z jackdaniel: the latter works on all implementations 2020-01-30T11:49:30Z Odin-: pjb: And if you need to deal with anything to do with encoding, you can't be conformant, because there is no non-implementation-dependent way of going between integers and characters. 2020-01-30T11:49:30Z jackdaniel: also, package local nicknames are a proof that you are plain wrong ;-) 2020-01-30T11:49:36Z elimik31 joined #lisp 2020-01-30T11:50:04Z galdor: bt is nice and all; but it should have been an extension to the standard, ratified by major implementations, and available the exact same way in implementations 2020-01-30T11:50:06Z pjb: Odin-: you can write conforming code to go between integers and characters. 2020-01-30T11:50:06Z jackdaniel: so making bold claims that someone is not interested in something is just a fud (fear, uncertainity and despair) talk ;) 2020-01-30T11:50:32Z galdor: instead you just have a library you hope someone will maintain, that you have to install/load everywhere 2020-01-30T11:50:46Z jackdaniel: of course you are entitled to your opinion, but when I guage opinions with facts I usually pick the latter ,p 2020-01-30T11:50:55Z Odin-: pjb: Yes. But the integers are implementation-defined, so that's useless if you need to deal with specific encodings. 2020-01-30T11:51:21Z pjb: Odin-: but at least, fixnums can store utf-16 codepoints :-) 2020-01-30T11:51:22Z z147 joined #lisp 2020-01-30T11:51:50Z bitmapper joined #lisp 2020-01-30T11:52:00Z Odin-: pjb: So what? You can't make strings out of those in a non-implementation-dependent way. 2020-01-30T11:52:11Z pjb: not cl:string, indeed. 2020-01-30T11:52:39Z pjb: since cl:strings are vectors of characters, and direly insufficient to represent sequences of grapheme clusters. 2020-01-30T11:52:51Z pjb: only take length for example… 2020-01-30T11:53:27Z Odin-: You seem to suffer from the misconception that grapheme clusters are more useful than anything else. 2020-01-30T11:53:38Z galdor: all languages I know ignore the notion of grapheme clusters for anything but graphic rendering 2020-01-30T11:53:40Z galdor: which is fine 2020-01-30T11:53:59Z Odin-: Grapheme clusters aren't even good for graphic rendering. 2020-01-30T11:54:10Z Odin-: You need more information than that for proper rendering. :p 2020-01-30T11:54:13Z galdor: again it's not perfect, but there is no perfect solution because of the complexity of the domain (human language and its textual representation) 2020-01-30T11:54:22Z galdor: of course 2020-01-30T11:54:23Z Odin-: Text is hard. 2020-01-30T11:54:30Z Odin-: Most people try to pretend it isn't. 2020-01-30T11:54:37Z Odin-: Those people tend to think Unicode is overengineered. 2020-01-30T11:54:41Z jackdaniel: I feel obligated to say, that again you go down the offtopic path 2020-01-30T11:55:44Z galdor: jackdaniel: is there a irc channel which is more about interesting Lisp-related discussions and not silence beyond standard lawyer debates ? 2020-01-30T11:55:59Z epony quit (Quit: sysupgrade) 2020-01-30T11:56:06Z Odin-: Dunno, this used to be it. 2020-01-30T11:56:17Z Odin- went away for a couple of years, though. 2020-01-30T11:56:19Z galdor: I'm starting to understand why so many people told me they left CL because of the community 2020-01-30T11:56:21Z jackdaniel: yes, it is called #lispcafe 2020-01-30T11:56:44Z galdor: who owns #lisp on freenode ? 2020-01-30T11:56:57Z jackdaniel: does it matter? topic states the, ehm, topic. 2020-01-30T11:57:40Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-30T11:58:02Z galdor: oh well, at some point I do not know why I still try to pretend CL is worth putting up with all of this 2020-01-30T11:58:03Z galdor quit (Quit: WeeChat 2.7) 2020-01-30T11:58:34Z galdor joined #lisp 2020-01-30T11:58:36Z galdor left #lisp 2020-01-30T11:58:58Z jackdaniel: rq count for today: 1. 2020-01-30T11:59:10Z shrdlu68 quit (Remote host closed the connection) 2020-01-30T11:59:32Z Odin-: Exhaustion, by the look of it. 2020-01-30T12:02:12Z georgiePorgie joined #lisp 2020-01-30T12:02:53Z flamebeard joined #lisp 2020-01-30T12:03:54Z splittist: Let me say that it is a pleasure to work with Plump and Lquery. Thank you Shinmera. 2020-01-30T12:04:15Z Shinmera: That makes me very happy to hear! :) 2020-01-30T12:04:47Z jackdaniel: people sometimes complain, that they don't want to discuss broader topics on #lispcafe, because some people they want to discuss it with are not on this channel. they probably never bothered to ask themself, *why* they are not on that channel. 2020-01-30T12:05:58Z jprajzne_ quit (Quit: jprajzne_) 2020-01-30T12:06:29Z jprajzne_ joined #lisp 2020-01-30T12:07:16Z Odin-: jackdaniel: Is this channel only for conversations that are relevant to immediate questions about CL code? 2020-01-30T12:07:31Z pjb: Yes, basically. 2020-01-30T12:07:58Z jackdaniel: alternatively: other topics which are related to Common Lisp. in my understanding at least 2020-01-30T12:08:03Z pjb: Odin-: http://cliki.net/IRC 2020-01-30T12:08:24Z epony joined #lisp 2020-01-30T12:09:52Z Odin-: jackdaniel: Evidently that relation has to be very direct. 2020-01-30T12:10:27Z jprajzne_ quit (Client Quit) 2020-01-30T12:11:02Z jprajzne_ joined #lisp 2020-01-30T12:11:08Z v_m_v joined #lisp 2020-01-30T12:12:59Z jackdaniel: Odin-: it might be that I am too strict to judge, that discussing how useful are grapheme clusters in unicode is not related to Common Lisp; I believe it is not though 2020-01-30T12:13:34Z Shinmera: You are not too strict. 2020-01-30T12:14:22Z jackdaniel: thank you:) 2020-01-30T12:15:30Z v_m_v quit (Ping timeout: 246 seconds) 2020-01-30T12:18:09Z JohnMS joined #lisp 2020-01-30T12:18:42Z jackdaniel: I've looked up the previous discussion; fwiw I agree with galdor, that depending on unicode being implemented in CL is a sane thing to do 2020-01-30T12:19:01Z jackdaniel: and representing strings as vectors of integers is not ,_) 2020-01-30T12:20:05Z frgo joined #lisp 2020-01-30T12:20:09Z Odin-: jackdaniel: Meh, fair enough. I only mentioned it because pjb seems quite insistent that having characters encode grapheme clusters would be the right thing to do in Common Lisp, and I don't see how that's really any improvement. 2020-01-30T12:20:40Z jackdaniel: I usually take pjb advices with a huge grain of salt (no offence pjb) 2020-01-30T12:20:53Z JohnMS_WORK quit (Ping timeout: 260 seconds) 2020-01-30T12:21:02Z jackdaniel: s/offence/offense 2020-01-30T12:21:25Z pjb: Odin-: this choice would give consistent and unsurprising results for length, and aref… 2020-01-30T12:21:54Z Odin-: jackdaniel: They're both correct spellings, though. 2020-01-30T12:21:57Z splittist: jackdaniel: no need to Americanize 2020-01-30T12:22:17Z jackdaniel: I've looked up a dictionary and they have slightly different meanings according to it 2020-01-30T12:22:19Z Odin-: pjb: It really wouldn't, though. 2020-01-30T12:22:30Z jackdaniel: that's why I've corrected myself 2020-01-30T12:22:37Z pjb: Odin-: the problem might be, as some argue, that cl:string are defined as vectors of characters. Perhaps when using Unicode, you want opaque strings, and API to get grapheme clusters and codepoints. 2020-01-30T12:22:48Z pjb: But we have to start from the cl standard… 2020-01-30T12:22:54Z Odin-: jackdaniel: Really? They're UK v. US spellings, as far as I've ever determined. 2020-01-30T12:23:22Z jackdaniel doesn't insist and blame a dictionary; I'll be back later 2020-01-30T12:23:25Z pjb: So just go as far as we can, and then define (and standardize) specific APIs. Such as gray-streams, flexi-streams, or unicode. 2020-01-30T12:23:45Z pjb: babel could have been a candidate if it didn't have so many problems. 2020-01-30T12:23:49Z pjb: (API problems). 2020-01-30T12:24:07Z Odin-: pjb: The problem is that grapheme clusters don't really capture language-dependent perceptions of length either. 2020-01-30T12:24:43Z milanj quit (Quit: This computer has gone to sleep) 2020-01-30T12:24:48Z pjb: jackdaniel: unicode:string can be something else than vectors of integers or characters. but cl:strings are vectors of characters, you cannot change that. 2020-01-30T12:24:53Z Odin-: So it's "unsurprising" only as long as you're not doing anything unusual - which is true of NFC in codepoint terms. 2020-01-30T12:24:57Z ebzzry joined #lisp 2020-01-30T12:25:08Z Odin-: Add an 'also' there. 2020-01-30T12:25:11Z pjb: Odin-: hence (unicode:length locale string)… 2020-01-30T12:25:11Z pjb: 2020-01-30T12:25:36Z pjb: Odin-: the point is that you should not use cl:string for unicode stuff. since cl:length doesn't work. 2020-01-30T12:26:03Z Odin-: It doesn't? 2020-01-30T12:26:22Z jackdaniel: length returns size of the array 2020-01-30T12:26:39Z pjb: No. (length "été") #| --> 5 |# 2020-01-30T12:26:40Z jackdaniel: while in unicode one character may be composed of many elements 2020-01-30T12:26:44Z Odin-: Oh, you mean you might cut across grapheme clusters if you do something arbitrary? 2020-01-30T12:27:37Z pjb: That's why you want to map grapheme clusters to characters, instead of codepoints. SO that cl:length is more useful for cl:string containing unicode stuff. (This is actually a argument in favor of galdor, but he couldn't understand it). 2020-01-30T12:27:40Z Odin-: pjb: What you are proposing is literally no different from defining Unicode codepoints for all possible composed characters and using only NFC. 2020-01-30T12:28:00Z pjb: Odin-: not codepoints, char-codes. 2020-01-30T12:28:29Z Odin-: pjb: No. Codepoints. Because you'd get the exact same situation if they were defined in Unicode. 2020-01-30T12:28:34Z Odin-: Including the normalisation problems. 2020-01-30T12:28:47Z pjb: As for normal forms, I'm not sure, this needs more study. One problem I have is that in some normal forms, é is mapped to é. 2020-01-30T12:28:58Z Odin-: Unless you remove the composing characters from Unicode. 2020-01-30T12:29:15Z pjb: But in any case, I'm saying that it doesn't matter much, once you have a good unicode library. 2020-01-30T12:29:17Z Odin-: (Which isn't going to happen.) 2020-01-30T12:29:33Z Odin-: Which you say can't possibly be conforming. 2020-01-30T12:29:35Z flamebeard quit (Read error: Connection reset by peer) 2020-01-30T12:30:05Z flamebeard joined #lisp 2020-01-30T12:30:16Z pjb: Note for example, that most unicode I/O is not done thru cl:character streams (because it's implementation dependent). So you would use binary streams, utf-8 and receive and send binary data, thing that a unicode package can do conformingly without ever touching a cl:character. 2020-01-30T12:30:53Z Odin-: Yes, but that way you can't ever work with it as a string in CL. 2020-01-30T12:31:30Z pjb: For example, if you use a GUI, you cannot use CL:CHARACTER (GUI libraries don't know about cl:characters, only about codepoints or utf-8, ie. a binary API). So you go file -> utf-8 -> unicode library -> utf-8 -> GUI binary API. 2020-01-30T12:31:37Z Odin-: Except by using a redefined string library working on your representation, which won't interoperate with stuff that doesn't expect that representation. 2020-01-30T12:31:51Z elimik31 quit (Remote host closed the connection) 2020-01-30T12:32:30Z Odin-: Because, under your terms, there is no way to go from characters to Unicode that isn't non-conforming. 2020-01-30T12:32:49Z pjb: It would probably be the best, indeed. 2020-01-30T12:32:58Z Odin-: That's idiotic. 2020-01-30T12:33:08Z jackdaniel: take a huge grain of salt! ;) 2020-01-30T12:33:20Z Odin-: And, incidentally, should also apply to ASCII. 2020-01-30T12:33:42Z pjb: Well, the cl:character set covers all the ASCII characters, so it's easier :-) 2020-01-30T12:34:15Z Odin-: What? No, it doesn't. 2020-01-30T12:34:45Z Odin-: At least standard-char doesn't. 2020-01-30T12:35:28Z elimik31 joined #lisp 2020-01-30T12:35:47Z pjb: http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/sec_2-1-3.html 2020-01-30T12:35:55Z lucasb joined #lisp 2020-01-30T12:36:24Z Odin-: Yes. Precisely 2020-01-30T12:36:25Z Odin-: . 2020-01-30T12:36:31Z Odin-: That's not all of ASCII. 2020-01-30T12:37:10Z pjb: That's all the CHARACTERS of ASCII! 2020-01-30T12:37:22Z Odin-: What's more, it includes a non-ASCII character. 2020-01-30T12:37:23Z pjb: ASCII encodes boths characters and control codes. 2020-01-30T12:38:20Z Odin-: Wait, you exclude control codes from being characters? 2020-01-30T12:38:29Z pjb: Yes. 2020-01-30T12:40:08Z Odin-: I guess I can see why you hate Unicode. 2020-01-30T12:40:42Z jonatack quit (Ping timeout: 246 seconds) 2020-01-30T12:41:31Z pjb: I don't hate it. 2020-01-30T12:41:49Z pjb: On the contrary, since I'm advocating for the implementation of a good and complete unicode library in conforming CL. 2020-01-30T12:42:50Z jonatack joined #lisp 2020-01-30T12:43:59Z Odin-: So, despite clearly being intended to allow for extensible external encodings, what you are saying is that any Common Lisp program that expects to be able to use characters other than the graphical characters of ASCII (and the non-ASCII character 'newline') is non-conforming? 2020-01-30T12:44:56Z pjb: #\newine as you mentionned is a CL character. It not an ASCII control code. Best proof, is printing it on MS-Windows issues TWO ASCII control codes! 2020-01-30T12:45:15Z v_m_v joined #lisp 2020-01-30T12:45:16Z pjb: (two codepoints if you use unicode). 2020-01-30T12:48:55Z Odin-: Oh, right. Strings cannot be transferred outside the image _at all_ without implementation-defined behaviour. 2020-01-30T12:50:35Z rumbler31 quit (Remote host closed the connection) 2020-01-30T12:53:37Z doublex_ joined #lisp 2020-01-30T12:55:12Z elimik31 left #lisp 2020-01-30T12:56:30Z milanj joined #lisp 2020-01-30T12:56:57Z rememberYou joined #lisp 2020-01-30T12:57:06Z doublex__ quit (Ping timeout: 265 seconds) 2020-01-30T12:58:30Z rememberYou quit (Client Quit) 2020-01-30T12:59:03Z dddddd joined #lisp 2020-01-30T12:59:06Z elimik31 joined #lisp 2020-01-30T12:59:55Z elimik31 quit (Remote host closed the connection) 2020-01-30T13:00:28Z shifty quit (Ping timeout: 268 seconds) 2020-01-30T13:00:35Z shifty joined #lisp 2020-01-30T13:02:25Z rememberYou joined #lisp 2020-01-30T13:04:13Z rememberYou quit (Remote host closed the connection) 2020-01-30T13:05:36Z rememberYou joined #lisp 2020-01-30T13:05:58Z rememberYou left #lisp 2020-01-30T13:07:34Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-30T13:12:00Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-30T13:12:19Z FreeBirdLjj joined #lisp 2020-01-30T13:16:58Z EvW quit (Ping timeout: 245 seconds) 2020-01-30T13:18:05Z alejandrozf joined #lisp 2020-01-30T13:25:40Z statusf90 joined #lisp 2020-01-30T13:25:42Z georgiePorgie joined #lisp 2020-01-30T13:28:38Z gko_ joined #lisp 2020-01-30T13:31:26Z jjong joined #lisp 2020-01-30T13:34:45Z amerlyq joined #lisp 2020-01-30T13:48:09Z X-Scale` joined #lisp 2020-01-30T13:48:42Z shrdlu68 joined #lisp 2020-01-30T13:49:11Z X-Scale quit (Ping timeout: 268 seconds) 2020-01-30T13:49:12Z X-Scale` is now known as X-Scale 2020-01-30T13:50:19Z FreeBird_ joined #lisp 2020-01-30T13:50:28Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2020-01-30T13:50:57Z Cymew quit (Ping timeout: 272 seconds) 2020-01-30T13:56:41Z ym quit (Remote host closed the connection) 2020-01-30T13:56:46Z Xach: stick shift and safety belts 2020-01-30T13:56:50Z Xach: (wrong channel) 2020-01-30T14:00:03Z scymtym: you misspelled CL:SHIFT while CL:SAFETY is fine. mostly on-topic i would say 2020-01-30T14:00:23Z scymtym: *CL:SHIFTF 2020-01-30T14:01:30Z jjongmc joined #lisp 2020-01-30T14:02:01Z pfdietz joined #lisp 2020-01-30T14:02:44Z cosimone quit (Ping timeout: 248 seconds) 2020-01-30T14:04:26Z developernotes joined #lisp 2020-01-30T14:20:12Z loke quit (Read error: Connection reset by peer) 2020-01-30T14:20:56Z ioa: Hi! So, the "news" section in common-lisp.net has a lot of broken links... Most importantly, cl-foundation.org is broken. 2020-01-30T14:20:58Z cosimone joined #lisp 2020-01-30T14:23:35Z Xach: ioa: there is a medium-activity channel for common-lisp.net called #common-lisp.net and the site admins are there 2020-01-30T14:23:42Z Xach: that's the channel i visit when i have common-lisp.net feedback 2020-01-30T14:23:49Z ioa: Also, and irrelevant: I just found out about a common-lisp based browser :) https://next.atlas.engineer/ 2020-01-30T14:23:53Z ioa: thanks Xach 2020-01-30T14:24:50Z EvW1 joined #lisp 2020-01-30T14:28:39Z shifty quit (Ping timeout: 268 seconds) 2020-01-30T14:28:47Z ioa: does anyone know who maintains cl-foundation.org? 2020-01-30T14:28:56Z shifty joined #lisp 2020-01-30T14:29:32Z Xach: ioa: gendl does 2020-01-30T14:29:43Z Xach: aka dave cooper 2020-01-30T14:31:56Z milanj quit (Quit: This computer has gone to sleep) 2020-01-30T14:32:08Z ioa: thanks again Xach 2020-01-30T14:32:19Z beach: ioa: I think that's the browser that jmercouris wrote. As I understand it, it is mostly a Common Lisp wrapper on something called WebKit. 2020-01-30T14:32:39Z Bike joined #lisp 2020-01-30T14:33:17Z jjongmc quit (Remote host closed the connection) 2020-01-30T14:33:30Z developernotes quit (Quit: leaving) 2020-01-30T14:35:42Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-30T14:36:13Z developernotes joined #lisp 2020-01-30T14:40:43Z gxt quit (Ping timeout: 240 seconds) 2020-01-30T14:45:33Z oxum quit (Ping timeout: 260 seconds) 2020-01-30T14:46:03Z ym joined #lisp 2020-01-30T14:46:43Z statusf90 quit (Quit: statusf90) 2020-01-30T14:49:52Z flamebeard quit 2020-01-30T14:53:38Z ym quit (Ping timeout: 240 seconds) 2020-01-30T14:53:51Z fivo joined #lisp 2020-01-30T14:53:54Z oxum joined #lisp 2020-01-30T14:53:56Z jmercouris joined #lisp 2020-01-30T14:54:35Z alejandrozf quit (Remote host closed the connection) 2020-01-30T14:56:17Z cyberyl joined #lisp 2020-01-30T14:56:33Z cyberyl: (hello) :p 2020-01-30T14:56:53Z ebrasca joined #lisp 2020-01-30T14:57:17Z jmercouris: hello 2020-01-30T14:57:18Z minion: jmercouris, memo from pjb: (ql:quickload :paiprolog :cl-prolog2) 2020-01-30T14:57:27Z jmercouris: Ah, nice 2020-01-30T14:58:21Z beach: Hello cyberyl. Hello jmercouris. 2020-01-30T14:58:29Z milanj joined #lisp 2020-01-30T14:58:43Z kajo quit (Ping timeout: 272 seconds) 2020-01-30T14:59:14Z jmercouris quit (Remote host closed the connection) 2020-01-30T15:00:13Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-01-30T15:00:31Z sjl joined #lisp 2020-01-30T15:00:56Z kajo joined #lisp 2020-01-30T15:01:04Z ym joined #lisp 2020-01-30T15:01:21Z beach: cyberyl: Are you new here? I don't recognize your nick. 2020-01-30T15:02:11Z cyberyl: yeah, i just decided to check whether there is a lisp channel on freenode. i have not yet started to learn it but i'm interested 2020-01-30T15:02:26Z beach: Great! 2020-01-30T15:02:51Z beach: There is also #clschool for truly basic questions. 2020-01-30T15:02:51Z cyberyl: i would like to read SICP, learn emacs, and maybe check out clojure, but i'm a total noob 2020-01-30T15:03:07Z cyberyl: i mean learn to use the emacs editor 2020-01-30T15:03:30Z beach: I see. However, this channel is dedicated to Common Lisp. 2020-01-30T15:04:22Z cyberyl: ok got it, i dont have a prefered dialect of lisp, since i dont know very much yet, but i mentioned clojure because it seems to be pretty big now 2020-01-30T15:04:32Z cyberyl: in popularity 2020-01-30T15:05:15Z Xach: i think it has peaked somewhat, but fortunately useful things need not be the most popular to remain useful 2020-01-30T15:05:37Z sjl quit (Quit: WeeChat 2.2-dev) 2020-01-30T15:05:40Z Xach: Common Lisp is not very popular but I find it very useful! 2020-01-30T15:05:57Z cyberyl: that's true, im not saying clojure is the best language, and im interested in commmon lisp as well, i have bookmarked the practical common lisp book 2020-01-30T15:06:49Z pvaneynd quit (Remote host closed the connection) 2020-01-30T15:07:59Z beach: cyberyl: The programming style would be very different in Clojure and Common Lisp. 2020-01-30T15:10:21Z beach: cyberyl: A lot of modern Common Lisp code is object-oriented through the use of CLOS features such as classes and generic functions. 2020-01-30T15:10:37Z gendl: Zach: ioa: the cl-foundation.org issue was already brought to my attention, thanks for the reminder, I will get those sorted out ASAP. 2020-01-30T15:10:59Z gendl: Also note that we now also have cl.foundation 2020-01-30T15:12:58Z WorldControl joined #lisp 2020-01-30T15:19:04Z WorldControl quit (Quit: Exeunt) 2020-01-30T15:24:11Z ym: Just typed "cl.foundation" in firefox URL bar and it opened the site. "Foundation" as TLD? 2020-01-30T15:25:01Z Bike: yeah, ICANN got a little weird with those 2020-01-30T15:25:48Z _death: they should have a $$$ tld 2020-01-30T15:28:49Z fivo quit (Quit: WeeChat 1.9.1) 2020-01-30T15:29:29Z cyberyl left #lisp 2020-01-30T15:30:55Z Xach: There's a .cl TLD but no .lisp. 2020-01-30T15:31:05Z Xach: So it works for Franz but not most others. 2020-01-30T15:34:53Z EvW1 quit (Ping timeout: 245 seconds) 2020-01-30T15:36:10Z pfdietz: Heh 2020-01-30T15:36:36Z pfdietz: I am very old school and sometimes use .lsp 2020-01-30T15:36:45Z random-nick joined #lisp 2020-01-30T15:36:58Z Xach: grew up so poor you couldn't afford vowels 2020-01-30T15:40:00Z pfdietz: Xach: I have a pull request in to fix chanl, but it hasn't been merged yet. 2020-01-30T15:40:27Z Xach: pfdietz: thanks 2020-01-30T15:40:32Z madage quit (Remote host closed the connection) 2020-01-30T15:40:49Z madage joined #lisp 2020-01-30T15:42:23Z pfdietz: Wait, I'm not seeing these failures in the ql daily report anymore. 2020-01-30T15:43:05Z pfdietz: Ah, it switched back to sbcl 1.5.8 2020-01-30T15:45:10Z Xach: yes 2020-01-30T15:45:13Z Xach: a new set of failures 2020-01-30T15:45:50Z msk quit (Remote host closed the connection) 2020-01-30T15:46:08Z msk joined #lisp 2020-01-30T15:46:31Z pvaneynd joined #lisp 2020-01-30T15:47:44Z whiteline_ quit (Remote host closed the connection) 2020-01-30T15:48:20Z msk quit (Remote host closed the connection) 2020-01-30T15:48:21Z whiteline_ joined #lisp 2020-01-30T15:48:54Z msk joined #lisp 2020-01-30T15:49:15Z jonatack quit (Ping timeout: 268 seconds) 2020-01-30T15:51:06Z pvaneynd quit (Ping timeout: 265 seconds) 2020-01-30T15:51:12Z shrdlu68 quit (Ping timeout: 260 seconds) 2020-01-30T15:53:42Z whiteline_ quit (Remote host closed the connection) 2020-01-30T15:54:13Z whiteline_ joined #lisp 2020-01-30T16:03:52Z shrdlu68 joined #lisp 2020-01-30T16:05:55Z refpga joined #lisp 2020-01-30T16:19:21Z jjong quit (Remote host closed the connection) 2020-01-30T16:24:45Z adriano1 joined #lisp 2020-01-30T16:25:05Z cosimone quit (Quit: Terminated!) 2020-01-30T16:35:26Z frgo quit (Remote host closed the connection) 2020-01-30T16:36:48Z pvaneynd joined #lisp 2020-01-30T16:37:38Z pvaneynd_ joined #lisp 2020-01-30T16:37:40Z ljavorsk joined #lisp 2020-01-30T16:37:52Z pvaneynd_ quit (Remote host closed the connection) 2020-01-30T16:38:19Z asdf_asdf_asdf joined #lisp 2020-01-30T16:38:28Z pvaneynd_ joined #lisp 2020-01-30T16:41:38Z pvaneynd quit (Ping timeout: 260 seconds) 2020-01-30T16:42:47Z bitmapper quit (Remote host closed the connection) 2020-01-30T16:45:40Z wsinatra joined #lisp 2020-01-30T16:47:35Z jonatack joined #lisp 2020-01-30T16:48:13Z wsinatra quit (Client Quit) 2020-01-30T16:48:38Z wsinatra joined #lisp 2020-01-30T16:49:01Z efm joined #lisp 2020-01-30T16:52:25Z sjl_ joined #lisp 2020-01-30T17:03:33Z frgo joined #lisp 2020-01-30T17:03:39Z jmercouris joined #lisp 2020-01-30T17:05:39Z ebzzry quit (Read error: Connection reset by peer) 2020-01-30T17:06:31Z Xach: If you have not already seen it, ultralisp.org has a great new search system - it returns results from symbol names and docstrings for your search term 2020-01-30T17:06:46Z Xach: For example, I wanted to search for base64-related stuff, and it was very easy with the new search 2020-01-30T17:07:04Z Xach: That's much nicer than just looking at project or system names 2020-01-30T17:08:02Z frgo quit (Ping timeout: 240 seconds) 2020-01-30T17:11:23Z sabrac quit (Remote host closed the connection) 2020-01-30T17:11:23Z shifty quit (Ping timeout: 260 seconds) 2020-01-30T17:11:33Z jmercouris: so I'm using Cl-gobject-introspection, and I have no idea how to debug with it 2020-01-30T17:11:39Z shifty joined #lisp 2020-01-30T17:11:44Z jmercouris: any idea on how to get messages from GTK upon failure forwarded into Lisp land? 2020-01-30T17:12:08Z jmercouris: something fails silently, and I have no idea how to approach the problem 2020-01-30T17:12:44Z Achylles joined #lisp 2020-01-30T17:14:30Z jmercouris quit (Remote host closed the connection) 2020-01-30T17:17:05Z lucus16 joined #lisp 2020-01-30T17:17:39Z Necktwi quit (Read error: Connection reset by peer) 2020-01-30T17:18:09Z shka_ joined #lisp 2020-01-30T17:19:27Z frgo joined #lisp 2020-01-30T17:19:33Z ljavorsk quit (Ping timeout: 260 seconds) 2020-01-30T17:20:11Z frgo quit (Remote host closed the connection) 2020-01-30T17:20:29Z frgo joined #lisp 2020-01-30T17:22:56Z Necktwi joined #lisp 2020-01-30T17:25:41Z clothespin joined #lisp 2020-01-30T17:25:53Z notzmv quit (Remote host closed the connection) 2020-01-30T17:28:36Z gendl: ym: yes, .foundation as TLD. cl-foundation.org should continue working as well though (and probably should redirect to cl.foundation) - i have to clear a few things off my desk before diving in to fix that., 2020-01-30T17:29:28Z oni-on-ion quit (Ping timeout: 260 seconds) 2020-01-30T17:33:57Z hhdave quit (Quit: hhdave) 2020-01-30T17:34:53Z bitmapper joined #lisp 2020-01-30T17:37:32Z davepdotorg quit (Remote host closed the connection) 2020-01-30T17:38:13Z gko_ quit (Ping timeout: 260 seconds) 2020-01-30T17:40:52Z scymtym quit (Ping timeout: 248 seconds) 2020-01-30T17:41:32Z m00natic quit (Remote host closed the connection) 2020-01-30T17:44:02Z igemnace quit (Ping timeout: 240 seconds) 2020-01-30T17:50:42Z v_m_v quit (Remote host closed the connection) 2020-01-30T17:52:35Z notzmv joined #lisp 2020-01-30T18:02:08Z shangul quit (Ping timeout: 260 seconds) 2020-01-30T18:02:54Z Gerd quit (Quit: Gerd) 2020-01-30T18:05:03Z aeth quit (Ping timeout: 260 seconds) 2020-01-30T18:05:21Z Gerd joined #lisp 2020-01-30T18:06:46Z Gerd quit (Client Quit) 2020-01-30T18:06:50Z aeth joined #lisp 2020-01-30T18:08:41Z madrik quit (Remote host closed the connection) 2020-01-30T18:10:09Z Gerd joined #lisp 2020-01-30T18:11:40Z emphazizer joined #lisp 2020-01-30T18:12:42Z emphazizer quit (Max SendQ exceeded) 2020-01-30T18:13:13Z emphazizer joined #lisp 2020-01-30T18:24:36Z jonatack quit (Ping timeout: 248 seconds) 2020-01-30T18:26:26Z LiamH joined #lisp 2020-01-30T18:27:24Z ggole quit (Quit: Leaving) 2020-01-30T18:30:36Z bitmapper quit (Ping timeout: 265 seconds) 2020-01-30T18:35:15Z cosimone joined #lisp 2020-01-30T18:38:58Z lotuspsychje joined #lisp 2020-01-30T18:40:23Z space_otter quit (Remote host closed the connection) 2020-01-30T18:42:11Z EvW joined #lisp 2020-01-30T18:42:26Z orivej quit (Ping timeout: 240 seconds) 2020-01-30T18:43:40Z Gerd quit (Quit: Gerd) 2020-01-30T18:44:45Z cosimone quit (Quit: Terminated!) 2020-01-30T18:48:18Z orivej joined #lisp 2020-01-30T18:49:14Z lotuspsychje left #lisp 2020-01-30T18:51:02Z cosimone joined #lisp 2020-01-30T18:51:49Z emphazizer quit (Quit: Leaving) 2020-01-30T18:53:01Z shka_ quit (Ping timeout: 268 seconds) 2020-01-30T18:55:07Z jonatack joined #lisp 2020-01-30T18:55:13Z orivej quit (Ping timeout: 260 seconds) 2020-01-30T19:12:22Z cosimone quit (Quit: Quit.) 2020-01-30T19:24:20Z EvW quit (Ping timeout: 248 seconds) 2020-01-30T19:24:34Z pirmino joined #lisp 2020-01-30T19:25:53Z scymtym joined #lisp 2020-01-30T19:30:10Z jmercouris joined #lisp 2020-01-30T19:31:03Z sauvin quit (Ping timeout: 272 seconds) 2020-01-30T19:31:16Z milanj quit (Quit: This computer has gone to sleep) 2020-01-30T19:33:34Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-30T19:34:40Z bitmappe_ joined #lisp 2020-01-30T19:35:15Z bitmappe_ quit (Client Quit) 2020-01-30T19:36:59Z fookara joined #lisp 2020-01-30T19:38:21Z davepdotorg joined #lisp 2020-01-30T19:39:35Z fookara quit (Remote host closed the connection) 2020-01-30T19:39:54Z orivej joined #lisp 2020-01-30T19:42:50Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-30T19:43:20Z adriano1 quit (Ping timeout: 252 seconds) 2020-01-30T19:44:54Z adriano1 joined #lisp 2020-01-30T19:49:08Z cosimone joined #lisp 2020-01-30T19:49:45Z adriano1 quit (Ping timeout: 268 seconds) 2020-01-30T19:57:52Z rippa joined #lisp 2020-01-30T20:01:20Z msk quit (Remote host closed the connection) 2020-01-30T20:01:37Z msk joined #lisp 2020-01-30T20:01:48Z tux joined #lisp 2020-01-30T20:04:18Z EvW1 joined #lisp 2020-01-30T20:07:05Z smazga joined #lisp 2020-01-30T20:08:43Z shifty quit (Ping timeout: 260 seconds) 2020-01-30T20:12:38Z kmeow quit (Remote host closed the connection) 2020-01-30T20:19:36Z bitmapper joined #lisp 2020-01-30T20:22:41Z jmercouris quit (Remote host closed the connection) 2020-01-30T20:23:45Z msk quit (Remote host closed the connection) 2020-01-30T20:24:07Z msk joined #lisp 2020-01-30T20:35:30Z nckx quit (*.net *.split) 2020-01-30T20:35:30Z mood quit (*.net *.split) 2020-01-30T20:35:41Z mood_ joined #lisp 2020-01-30T20:35:50Z nckx- joined #lisp 2020-01-30T20:37:38Z nckx- is now known as nckx 2020-01-30T20:38:28Z notzmv quit (Ping timeout: 268 seconds) 2020-01-30T20:38:28Z jhei quit (Ping timeout: 268 seconds) 2020-01-30T20:38:39Z jhei joined #lisp 2020-01-30T20:47:45Z asdf_asdf_asdf: Hi. Sorry for question, but I can't found it. If UTF-8 not encode char as 0xffff, so which encoding encode char as 0xffff without BOM? 2020-01-30T20:47:54Z gravicappa quit (Ping timeout: 268 seconds) 2020-01-30T20:48:23Z orivej quit (Ping timeout: 260 seconds) 2020-01-30T20:48:31Z narimiran quit (Ping timeout: 268 seconds) 2020-01-30T20:49:23Z asdf_asdf_asdf: In which encoding I should file .txt, that Common Lisp read this file character by character and get 0xffff value? 2020-01-30T20:56:35Z msk quit (Remote host closed the connection) 2020-01-30T20:56:47Z msk joined #lisp 2020-01-30T20:59:50Z tux quit (Quit: tux) 2020-01-30T21:00:59Z Xach: asdf_asdf_asdf: why? 2020-01-30T21:01:10Z didi joined #lisp 2020-01-30T21:01:30Z didi: Does anyone know where can I find the sources of XLISP-STAT? 2020-01-30T21:02:32Z asdf_asdf_asdf: Xach, value 65535 after cast to (int)(unsigned char)65535 == -1. This mean's EOF (end of file). 2020-01-30T21:02:37Z milanj joined #lisp 2020-01-30T21:02:48Z Xach: asdf_asdf_asdf: in what context? 2020-01-30T21:03:45Z Fare joined #lisp 2020-01-30T21:03:47Z Xach: didi: i had a link but it is dead :( 2020-01-30T21:04:22Z didi: Xach: :-( Thank you. 2020-01-30T21:04:33Z asdf_asdf_asdf: I want put character about code 65535 and if I get char by char I want get EOF. Yes, Ctrl-Z Win, and Ctrl-D Linux. But I search character about code 0xffff. 2020-01-30T21:06:23Z ym: didi, archive.org maybe? 2020-01-30T21:06:50Z didi: ym: I tried, but no luck. 2020-01-30T21:08:25Z Xach: asdf_asdf_asdf: why? 2020-01-30T21:10:00Z asdf_asdf_asdf: I want, that loop stop when see -1(int)(unsigned int)(65535) == -1 (EOF). 2020-01-30T21:10:02Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-30T21:10:06Z jackdaniel: didi: http://homepage.stat.uiowa.edu/~luke/xls/xlispstat/ ? 2020-01-30T21:10:26Z didi: jackdaniel: Nice. Thank you. 2020-01-30T21:10:35Z jackdaniel: sure 2020-01-30T21:10:56Z Xach: asdf_asdf_asdf: it is impossible. you need a different approach. 2020-01-30T21:11:46Z asdf_asdf_asdf: Xach, it's possible maybe, because I define int as char type and should works, but I can't find character about this code. 2020-01-30T21:13:08Z Xach: asdf_asdf_asdf: no, it is impossible. 2020-01-30T21:13:16Z Xach: asdf_asdf_asdf: you need to do something different. 2020-01-30T21:15:44Z ebrasca quit (Remote host closed the connection) 2020-01-30T21:16:44Z Josh_2 joined #lisp 2020-01-30T21:17:38Z asdf_asdf_asdf: Xach, occur with wide characters or with ordinary characters that are as wide as int. It is true or false? 2020-01-30T21:18:02Z Xach: asdf_asdf_asdf: characters in common lisp are not integers. 2020-01-30T21:18:17Z Bike: lisp read functions do not return an EOF character because there is no EOF character. they use an out of band mechanism like signaling an error, or returning a special value you provide which is probably not a character. 2020-01-30T21:18:18Z Xach: There are no wide characters or narrow characters. 2020-01-30T21:19:16Z asdf_asdf_asdf: Yes, but I can cast most type lisp to other and I got wide character. 2020-01-30T21:19:30Z Xach: asdf_asdf_asdf: there is no casting in lisp. 2020-01-30T21:19:38Z Bike: If you want to write C just write C. 2020-01-30T21:19:47Z Bike: Although even in C I don't think EOF is exactly a character. 2020-01-30T21:19:55Z asdf_asdf_asdf: SBCL alien's have. 2020-01-30T21:20:26Z Xach: It cannot work. 2020-01-30T21:20:39Z jackdaniel: "alien" says it all, it is something not lispy ,) 2020-01-30T21:20:45Z Bike: You went to the hardware store and bought a drill and you are using it to hammer nails 2020-01-30T21:22:26Z Xach: asdf_asdf_asdf: what kind of file processing are you doing? 2020-01-30T21:22:55Z asdf_asdf_asdf: I think, that is character in CL, which occur EOF, which do premature close the read. 2020-01-30T21:23:18Z asdf_asdf_asdf: Text file (.txt). 2020-01-30T21:23:39Z didi left #lisp 2020-01-30T21:23:56Z Xach: asdf_asdf_asdf: No, there is no character representing EOF in CL. Or in C. 2020-01-30T21:24:39Z Xach: asdf_asdf_asdf: since you control the text file, you can put in some special sequence to indicate to the loop to stop. 2020-01-30T21:24:41Z asdf_asdf_asdf: Yes, but should be bit-pattern to the same behavior, e.g. close the read file. 2020-01-30T21:25:01Z Xach: asdf_asdf_asdf: incorrect. it does not work that way in CL. Or in C. 2020-01-30T21:25:57Z asdf_asdf_asdf: https://wiki.sei.cmu.edu/confluence/display/c/FIO34-C.+Distinguish+between+characters+read+from+a+file+and+EOF+or+WEOF 2020-01-30T21:26:06Z Xach: it cannot work and you must find a different approach if you want in-band signaling. 2020-01-30T21:27:53Z v_m_v joined #lisp 2020-01-30T21:28:33Z Bike: none of this says EOF is a character 2020-01-30T21:28:44Z Bike: in fact it's largely about how much effort goes into ensuring that it is not a character 2020-01-30T21:28:47Z asdf_asdf_asdf: Try press Ctrl+d in Linux or Ctrl+z in Windows. You got characters e.g. SUB in Windows. Later paste it to middle in file. Parsed it file you file not parsed to the end. 2020-01-30T21:29:09Z Xach: asdf_asdf_asdf: no, incorrect. Ctrl-d is a signal to the unix terminal driver to send all pending input. 2020-01-30T21:29:20Z msk quit (Remote host closed the connection) 2020-01-30T21:29:26Z Xach: asdf_asdf_asdf: if there is no pending input, read() returns a zero-length read which means EOF. 2020-01-30T21:29:35Z Bike: in fact - IN FACT - "The C Standard feof() and ferror() functions are not subject to the problems associated with character and integer sizes and should be used to verify end-of-file and file errors for susceptible implementations" 2020-01-30T21:29:37Z msk joined #lisp 2020-01-30T21:29:44Z Bike: this page specifically says to not do what you want to do 2020-01-30T21:29:54Z Bike: in C 2020-01-30T21:30:03Z Xach: if there is pending input, read() returns that input without a newline required. 2020-01-30T21:31:28Z Xach: there is no character in the returned buffer that is treated as a special EOF character. it is the length of the returned data that matters. 2020-01-30T21:35:07Z asdf_asdf_asdf: I don't know which character is equivalent to Ctrl-Z SUB from Windows. Sorry. If it is not possible, it thanks. 2020-01-30T21:36:00Z Xach: it is not possible and you need a different approach 2020-01-30T21:36:20Z asdf_asdf_asdf: I try in ##C, maybe. 2020-01-30T21:39:05Z Achylles quit (Quit: Leaving) 2020-01-30T21:39:16Z davepdotorg joined #lisp 2020-01-30T21:44:25Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-30T21:45:17Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-30T21:45:18Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-30T21:47:30Z msk quit (Remote host closed the connection) 2020-01-30T21:47:41Z notzmv joined #lisp 2020-01-30T21:47:46Z msk joined #lisp 2020-01-30T21:58:51Z aeth: all of this debate about Unicode encoding yesterday and it turns out asdf_asdf_asdf when providing more context just wanted an EOF value 2020-01-30T21:58:59Z aeth: and somehow read that #xffff is EOF or something 2020-01-30T22:00:26Z no-defun-allowed: asdf_asdf_asdf: If you call any function starting with READ without all the arguments, it will signal a condition when the end of the stream has been reached. 2020-01-30T22:02:50Z amerlyq quit (Quit: amerlyq) 2020-01-30T22:02:58Z aeth: no-defun-allowed: Odds are that asdf_asdf_asdf is using Windows's read function directly through SBCL's FFI (not something portable like CFFI) for whatever reason and wants to detect EOF via that, rather than making it easy with READ-BYTE or READ-CHAR. This is just what I can piece together, though. asdf_asdf_asdf is bad at asking questions. 2020-01-30T22:04:20Z msk quit (Remote host closed the connection) 2020-01-30T22:04:37Z msk joined #lisp 2020-01-30T22:04:39Z aeth: (I mean, it took literally an entire day to figure out that asdf_asdf_asdf wanted 0xffff/#xFFFF because asdf_asdf_asdf assumes that it's an EOF value) 2020-01-30T22:06:02Z aeth: no-defun-allowed: From what I can gather, asdf_asdf_asdf is taking some sort of "introduction to writing C in Windows" tutorial and painfully slowly, over the course of at least one year, trying to translate it token-for-token directly into SBCL-specific, Windows-specific FFI. 2020-01-30T22:06:27Z aeth: But they never state things that directly. 2020-01-30T22:06:51Z Shinmera: I don't know why people continue to engage even though nothing ever comes from it except noise discussion. 2020-01-30T22:07:42Z aeth: Shinmera: because asdf is purposefully leaving out context to make the problem seem reasonable because asdf knows that if asdf provides the full context, then people won't help. asdf already asks about the FFI stuff in #sbcl after being told that only portable stuff like CFFI will be answered in here 2020-01-30T22:08:28Z Shinmera: This has been a continuous thing for months now. I would think people clue in by now. 2020-01-30T22:08:55Z aeth: not months, at least a year 2020-01-30T22:10:17Z aeth: asdf is trying to do an advanced interface (WinAPI is no joke) between CL and C while knowing neither language well. 2020-01-30T22:12:25Z aeth: Shinmera: Maybe not quite a year (although this might not be the earliest point). I did tell asdf_asdf_asdf that the whole thing could be automated away with claw (a fork of autowrap) on 2019-05-15 and borodust (the fork's author) offered to do that if asdf provided which parts of the winapi. So the whole thing could have been over "in 15 min or smth". https://irclog.tymoon.eu/freenode/%23lisp?around=1557951157#1557951157 2020-01-30T22:12:51Z Shinmera: you don't need to convince me of my own point. 2020-01-30T22:13:11Z aeth: Shinmera: This is providing a supporting point, for anyone who is reading. 2020-01-30T22:13:14Z v_m_v quit (Ping timeout: 240 seconds) 2020-01-30T22:13:53Z aeth: It has been about 260 days since the whole thing could have been automated away in 15 minutes with claw... 2020-01-30T22:14:05Z Bike quit (Remote host closed the connection) 2020-01-30T22:14:38Z Bike joined #lisp 2020-01-30T22:15:23Z Bike: i have an indefatigable belief in the spirit of communication. but if you want to ban them i won't mind. they were, after all, already banned, and only came back because the channel banlist happened to be full at the time 2020-01-30T22:16:02Z random-nick quit (Ping timeout: 240 seconds) 2020-01-30T22:17:54Z bitmapper quit 2020-01-30T22:19:53Z jackdaniel: I've been already dubbed a bad guy today, don't look at me ,) 2020-01-30T22:21:25Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-01-30T22:22:28Z Lord_of_Life joined #lisp 2020-01-30T22:24:32Z developernotes quit (Quit: leaving) 2020-01-30T22:24:44Z slyrus_ joined #lisp 2020-01-30T22:26:20Z shifty joined #lisp 2020-01-30T22:27:48Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-30T22:28:22Z msk quit (Remote host closed the connection) 2020-01-30T22:28:37Z msk joined #lisp 2020-01-30T22:28:56Z pfdietz quit (Remote host closed the connection) 2020-01-30T22:36:05Z Xach: i'm glad to see the end of the direct insults and attacks. that seems like a form of progress. 2020-01-30T22:38:04Z Fare quit (Ping timeout: 265 seconds) 2020-01-30T22:39:09Z EvW1 quit (Ping timeout: 272 seconds) 2020-01-30T22:39:38Z shifty quit (Ping timeout: 240 seconds) 2020-01-30T22:44:30Z asdf_asdf_asdf joined #lisp 2020-01-30T22:45:00Z jeosol quit (Remote host closed the connection) 2020-01-30T22:49:39Z sjl_ quit (Ping timeout: 240 seconds) 2020-01-30T22:50:50Z msk quit (Remote host closed the connection) 2020-01-30T22:51:07Z msk joined #lisp 2020-01-30T22:54:37Z ljavorsk joined #lisp 2020-01-30T22:58:20Z msk quit (Remote host closed the connection) 2020-01-30T22:58:42Z msk joined #lisp 2020-01-30T22:59:50Z Bike quit (Quit: Bike) 2020-01-30T23:03:03Z z147 quit (Ping timeout: 240 seconds) 2020-01-30T23:08:30Z ljavorsk quit (Ping timeout: 268 seconds) 2020-01-30T23:11:34Z msk quit (Remote host closed the connection) 2020-01-30T23:11:49Z msk joined #lisp 2020-01-30T23:13:35Z v_m_v joined #lisp 2020-01-30T23:15:20Z rumbler31 joined #lisp 2020-01-30T23:40:41Z EvW joined #lisp 2020-01-30T23:43:47Z msk quit (Remote host closed the connection) 2020-01-30T23:44:09Z _whitelogger quit (Remote host closed the connection) 2020-01-30T23:44:10Z msk joined #lisp 2020-01-30T23:46:19Z zooey quit (Remote host closed the connection) 2020-01-30T23:46:21Z asarch joined #lisp 2020-01-30T23:46:23Z _whitelogger joined #lisp 2020-01-30T23:46:36Z zooey joined #lisp 2020-01-30T23:47:29Z asarch: Why I can '(Lisp simply rocks!) but I can't (list lisp simply rocks!) and neither (quote lisp simply rocks!)?. What is ('...)? 2020-01-30T23:48:23Z asarch: I thought ('...) was a shortcut for (quote ...) 2020-01-30T23:48:51Z no-defun-allowed: '(foo ...) is (quote (foo ...)) 2020-01-30T23:49:21Z no-defun-allowed: (list 'lisp 'simply 'rocks!) ; would create a list that is EQUAL to that quoted list 2020-01-30T23:50:09Z asarch is fixing his notes... 2020-01-30T23:50:29Z asdf_asdf_asdf: Quote is not evaluated, while `(,Lisp is evaluated. 2020-01-30T23:50:39Z pjb: asarch: you're wrong. '… is a reader macro that reads as (CL:QUOTE …) 2020-01-30T23:51:03Z pjb: ('…) is read as ((CL:QUOTE …)) ; which by the way is not a lisp form. 2020-01-30T23:51:05Z cosimone_ joined #lisp 2020-01-30T23:51:21Z cosimone_ quit (Client Quit) 2020-01-30T23:51:28Z asarch: `(, <- Quasiquoting :-) 2020-01-30T23:51:39Z pjb: You can perfectly well do (list lisp simply rocks!): (let ((lisp 1) (simply 2) (rocks! 3)) (list lisp simply rocks!)) #| --> (1 2 3) |# 2020-01-30T23:51:40Z asarch: Flip and flops 2020-01-30T23:52:32Z pjb: and you cannot do (quote lisp simply rocks!) because CL:QUOTE takes only 1 argument. 2020-01-30T23:52:42Z pjb: (quote (lisp simply rocks!)) #| --> (lisp simply rocks!) |# 2020-01-30T23:53:15Z pjb: (defmacro quote-list (&rest arguments) `(quote (list ,@arguments))) 2020-01-30T23:54:03Z pjb: or rather: (defmacro quote-list (&rest arguments) `(quote ,arguments)) 2020-01-30T23:54:05Z pjb: (quote-list lisp simply rocks!) #| --> (lisp simply rocks!) |# 2020-01-30T23:54:25Z pjb: Note that what you want is actually the combination of TWO operators! quote and list. 2020-01-30T23:54:44Z pjb: lisp is nice because it lets you combine them, not because it provides you with all the crazy combinations. 2020-01-30T23:55:16Z cosimone quit (Ping timeout: 248 seconds) 2020-01-30T23:59:37Z aeth: asarch: QUOTE follows the distributive law. Compare (= (* a (+ b c)) (+ (* a b) (* a c))) with (equalp '(a b c) (list 'a 'b 'c)) 2020-01-31T00:00:23Z slyrus__ joined #lisp 2020-01-31T00:00:29Z aeth: asarch: Just like there's probably some arithmetic (with floats, perhaps?) where our ideal arithmetic model breaks down, there are some edge cases where the latter model with QUOTE breaks down. A quoted list is a literal list, which means you should treat it as immutable by convention. Then you avoid these edge cases. 2020-01-31T00:01:04Z asarch: Ok 2020-01-31T00:01:06Z aeth: and, yes, it breaks down with some floats, e.g. (let ((a 0.1) (b 0.2) (c 0.3)) (= (* a (+ b c)) (+ (* a b) (* a c)))) 2020-01-31T00:01:25Z pjb: then use ratios. 2020-01-31T00:01:39Z pjb: (let ((a 1/10) (b 2/10) (c 3/10)) (= (* a (+ b c)) (+ (* a b) (* a c)))) #| --> t |# 2020-01-31T00:01:58Z aeth: pjb: My point was to point out that the Platonic ideal of Distributive Law breaks down in practice, with my arithmetic example (that everyone should know, even though the s-expression syntax might be unfamiliar) and with the quote example. 2020-01-31T00:03:23Z slyrus_ quit (Ping timeout: 268 seconds) 2020-01-31T00:03:27Z asarch: If I do: (quote ("lisp" "simply" "rocks")) then it would create a list of STRINGS, right? Now, if I just do (quote (lisp simply rocks!)), what would LISP, SIMPLY and ROCK! be? 2020-01-31T00:03:42Z aeth: asarch: symbols 2020-01-31T00:03:45Z asarch: Symbols? 2020-01-31T00:04:49Z aeth: asarch: Symbols are special objects that are created by upcased strings (upcased unless your reader is fancy, or you make them literal like '|foo| is). They have some other properties attached to them, like that they're namespaced within packages and they have a symbol plist (no one uses the latter) 2020-01-31T00:04:55Z pjb: DUH 2020-01-31T00:05:00Z aeth: asarch: the important thing is that (eq 'foo 'foo) => T 2020-01-31T00:05:36Z aeth: (eq "foo" "foo") => ? probably NIL, but not necessarily, since the '"' in "foo" means it's literal, so implementations can do some magic there if they choose afaik 2020-01-31T00:05:43Z minion quit (Remote host closed the connection) 2020-01-31T00:05:50Z asarch: Then, for the sake of the reason, I would consider that Common Lisp data types are: symbols, string, integers, ratios and float, right? 2020-01-31T00:05:51Z minion joined #lisp 2020-01-31T00:06:17Z no-defun-allowed: aeth: FWIW, I've had SBCL mess with constant strings quite often when invoking compile-file. 2020-01-31T00:07:45Z no-defun-allowed: https://sellout.github.io/media/CL-type-hierarchy.png is a graph of all the types in Common Lisp. 2020-01-31T00:08:45Z aeth: asarch: the best overview I can find at the moment is unfortunately CLtL2, which is outdated: https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node15.html 2020-01-31T00:08:48Z aeth: the bullet points at the bottom there 2020-01-31T00:09:38Z asarch: WOW!!! 2020-01-31T00:10:01Z aeth: asarch: you can look at the hyperspec's index to sort of get the same feeling but up-to-date. http://www.lispworks.com/documentation/HyperSpec/Front/Contents.htm 2020-01-31T00:10:02Z v_m_v quit (Ping timeout: 240 seconds) 2020-01-31T00:10:13Z aeth: but you'll just see e.g. "numbers", not the subtypes of number 2020-01-31T00:11:07Z aeth: asarch: this is possibly the most up to date, and includes the MOP, not just the stuff in the base standard. https://sellout.github.io/media/CL-type-hierarchy.png 2020-01-31T00:11:25Z aeth: (I have seen that around the Internet, that just happens to be the top result on DDG image search at the moment) 2020-01-31T00:12:02Z aeth: What might be hard to read from that graph is that everything is a T, nothing is a NIL, and anything that's not a CONS is an ATOM. Everything else on that should be straightforward. 2020-01-31T00:14:52Z asarch: Wow! So one could not simply "uninstall" MOP and then use another OOP service as a replace, right? 2020-01-31T00:16:29Z aeth: Well, two things. (1) MOP doesn't have to be there for it to be standard CL because it's an extension and (2) CL itself has at least three built-in "object systems" of sorts. The condition system is technically independent (it's usually implemented via CLOS for convenience, but not in CL) and there's also the DEFSTRUCT structure-class system 2020-01-31T00:17:04Z aeth: The latter is part of the MOP hierarchy in that graph, but in practice it's quite distinct from the other forms of OOP (except for that you can define a DEFMETHOD that works on structure-classes) because it predates CLOS 2020-01-31T00:17:24Z aeth: s/but not in CL/but not in SBCL/ 2020-01-31T00:17:25Z aeth: oops 2020-01-31T00:18:32Z aeth: asarch: And you can, of course, use macros and reader macros to use whatever paradigm you want (including your own OOP one), but writing your own OOP system means limited interoperability with everyone else's code so it's probably best to try to implement it via MOP if possible. 2020-01-31T00:19:03Z asarch: Yeah, yeah. "Don't duplicate bugs" :-) 2020-01-31T00:20:17Z smazga quit (Quit: leaving) 2020-01-31T00:20:39Z asarch: I just was wondering about it because in the "The Art of Metaobject Protocol" CLOS was still not the defacto standard for Common Lisp (I guess that was the reason of Closette) 2020-01-31T00:21:12Z LiamH quit (Quit: Leaving.) 2020-01-31T00:21:30Z Bike joined #lisp 2020-01-31T00:23:21Z Lord_of_Life_ joined #lisp 2020-01-31T00:24:24Z jdz quit (Ping timeout: 265 seconds) 2020-01-31T00:24:25Z Josh_2 quit (Read error: Connection reset by peer) 2020-01-31T00:25:02Z aeth: asarch: AMOP was published in 1991, and the spec that CLHS is based off of was published in 1994 (it wasn't in the 1984 version of the language). The 1994 standard standardizes CLOS as part of the language, but as it was a late addition to the language, its use isn't necessary for most things. 2020-01-31T00:25:10Z jdz joined #lisp 2020-01-31T00:25:26Z aeth: I mean, besides its indirect use, since it can be used in the implementation of things that you use. 2020-01-31T00:25:54Z aeth: You can also use a method without realizing it because of the unified syntax between functions and generic functions. 2020-01-31T00:25:58Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-01-31T00:26:16Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-31T00:26:37Z shifty joined #lisp 2020-01-31T00:26:50Z asarch: Is there anything still pending to add to the standard? 2020-01-31T00:27:08Z asarch: The standard is still alive, right? 2020-01-31T00:27:10Z aeth: If anything is still waiting to be added to the standard, it's going to have to wait a very long time. :-) 2020-01-31T00:27:43Z asarch: Wow! 2020-01-31T00:29:13Z aeth: asarch: The ANSI standard is probably never going to be revised, but that just means that another official Standard™ (ANSI, ISO, ECMA, etc.) will probably never come. That doesn't mean that e.g. there can't be a de facto standard agreed upon by implementors, like Scheme's r5rs or r7rs. 2020-01-31T00:29:25Z aeth: asarch: No one is working on such a standard at the moment, though. 2020-01-31T00:29:28Z gko_ joined #lisp 2020-01-31T00:30:20Z nckx quit (Ping timeout: 268 seconds) 2020-01-31T00:30:33Z aeth: For the most part, people are content enough to have portability libraries over implementation-specific extensions, such as CFFI or bordeaux-threads. 2020-01-31T00:31:00Z asarch: In your very own opinion of all of you, what else is missing? 2020-01-31T00:31:41Z aeth: That is quite a controversial topic because quite a few people believe that there should never be another revision to the core language itself. 2020-01-31T00:31:41Z asarch: Would you be willing part of the committee? 2020-01-31T00:32:33Z Bike: can't be much worse than the standards arguments we already have 2020-01-31T00:33:35Z asarch: What does it take to be part of that committee? Is it very expensive? 2020-01-31T00:34:30Z aeth: asarch: Official standards are very expensive. Another one will probably never happen. Something "unofficial" like Scheme's r7rs process (just a bunch of people on the Internet voting on what goes into a PDF afaik) could happen, but there would have to be a community demand for that. 2020-01-31T00:34:47Z nckx joined #lisp 2020-01-31T00:35:15Z aeth: asarch: You would have to convince the major implementations (SBCL, CCL, ECL, etc.) to respect the results, though. 2020-01-31T00:35:48Z aeth: Scheme's r6rs did not get widespread support and was too controversial. 2020-01-31T00:38:20Z msk quit (Remote host closed the connection) 2020-01-31T00:39:12Z msk joined #lisp 2020-01-31T00:43:06Z aeth: asarch: As for me being on the committee, that's not my call because a future standard isn't my decision. You would basically at a minimum need the devs at #sbcl #ccl #ecl #clasp and #sicl to agree, as well as potentially the devs of the two major commercial Lisps: Allegro and LispWorks 2020-01-31T00:43:43Z aeth: It is possible that they could (almost) all be in the same (actual) room at the same time at the European Lisp Symposium conference, though. So that's where the (very controversial) proposal would probably be made. 2020-01-31T00:43:54Z gko_ quit (Ping timeout: 268 seconds) 2020-01-31T00:44:19Z aeth: A proposal would have to be made by someone very respected in the community, like beach 2020-01-31T00:44:44Z pjb: asarch: the CL standard is very much alive: https://www.youtube.com/watch?v=vnciwwsvNcc 2020-01-31T00:45:45Z pjb: asarch: it's just resting. 2020-01-31T00:46:38Z asarch: LOL :-) 2020-01-31T00:48:00Z aeth: asarch: In fact, I don't think I know anyone except beach who could propose it and beach afaik currently isn't in favor of a new standard and usually says things along the lines of "Learn more of the language before proposing changes to the language." when newbies suggest a new standard. 2020-01-31T00:48:49Z aeth: (Maybe I should've written his name censored so this doesn't bother him with mentions.) 2020-01-31T00:49:28Z oni-on-ion joined #lisp 2020-01-31T00:50:01Z aeth: But, anyway, basically: you would need to be a respected senior member of the community with a lot of experience and qualifications. 2020-01-31T00:50:16Z asarch: I see 2020-01-31T00:50:39Z ebzzry joined #lisp 2020-01-31T00:50:47Z asarch: That's great, isn't it? 2020-01-31T00:51:28Z aeth: The CL community is a rare community as far as programming languages go because it values being able to run decades-old code without modification, so changes and additions have to be very carefully considered. 2020-01-31T00:51:42Z aeth: The people who want to clean things up radically moved to Scheme at least 30 years ago. 2020-01-31T00:52:05Z housel: or Dylan :-) 2020-01-31T00:52:09Z pjb: and they are still refining the scheme standard to the day… 2020-01-31T00:52:34Z aeth: I guess you could compare CL's philosophy as far as stability is concerned to C, although C has had a few new standards that have made some minor additions. 2020-01-31T00:52:55Z aeth: And that is, simliarly, because all of the people who want to add tons of shiny new features moved from C to C++ 30 years ago. 2020-01-31T00:56:24Z asarch: Oh :-( 2020-01-31T00:57:02Z igemnace joined #lisp 2020-01-31T00:57:15Z jjong joined #lisp 2020-01-31T00:57:33Z asarch: I guess that's why Scheme will never be considered as professional as Common Lisp :-( 2020-01-31T00:57:47Z karlosz joined #lisp 2020-01-31T00:58:42Z torbo joined #lisp 2020-01-31T00:59:36Z georgiePorgie joined #lisp 2020-01-31T01:02:18Z jjong` joined #lisp 2020-01-31T01:02:40Z aeth: A professional language is the programming language that your boss makes you use. 2020-01-31T01:03:54Z asarch: I know, but they always use "Academic" when they talk about Scheme 2020-01-31T01:04:22Z asarch: Nowadays bosses use Java for the task ;-P 2020-01-31T01:04:23Z pjb: Academia is also professional. 2020-01-31T01:05:00Z pjb: asarch: as if, you went to your surgeon and told him what knife to use on your operation… 2020-01-31T01:05:45Z aeth: asarch: An academic language is the programming language that your professor makes you use. 2020-01-31T01:06:17Z asarch: I thought "Academic" was some "toy" a la Scratch :'-( 2020-01-31T01:06:57Z aeth: it depends on what level the language is aimed at, e.g. Logo is aimed at a young audience. 2020-01-31T01:08:54Z pjb: it depends on the tools provided. You could use logo professionaly, with the right compilers and development environments and libraries. 2020-01-31T01:09:01Z pjb: look at python! 2020-01-31T01:13:25Z Josh_2 joined #lisp 2020-01-31T01:13:55Z aeth: pjb: we need Common Logo, a Common Lisp Logo implementation that gives the full power of CL to turtle graphics users! 2020-01-31T01:14:39Z asarch: The Logo module for McCLIM 2020-01-31T01:20:50Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-31T01:21:30Z ebzzry joined #lisp 2020-01-31T01:26:46Z Guest19180 joined #lisp 2020-01-31T01:27:53Z karlosz quit (Quit: karlosz) 2020-01-31T01:28:26Z karlosz joined #lisp 2020-01-31T01:29:18Z __jrjsmrtn__ joined #lisp 2020-01-31T01:30:08Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-01-31T01:32:26Z ebzzry quit (Ping timeout: 240 seconds) 2020-01-31T01:39:46Z slyrus joined #lisp 2020-01-31T01:41:08Z davepdotorg joined #lisp 2020-01-31T01:41:52Z slyrus__ quit (Ping timeout: 268 seconds) 2020-01-31T01:42:56Z karlosz quit (Quit: karlosz) 2020-01-31T01:43:01Z rumbler31 quit (Remote host closed the connection) 2020-01-31T01:43:26Z karlosz joined #lisp 2020-01-31T01:46:22Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-31T01:49:08Z Nilby joined #lisp 2020-01-31T01:52:25Z ebzzry joined #lisp 2020-01-31T01:59:22Z xkapastel joined #lisp 2020-01-31T02:08:13Z Bike quit (Quit: Lost terminal) 2020-01-31T02:12:08Z asarch: These type specifiers http://www.lispworks.com/documentation/HyperSpec/Body/04_bc.htm, are they the same for the :element-type argument of (make-array)? 2020-01-31T02:16:05Z wsinatra quit (Quit: WeeChat 2.7) 2020-01-31T02:22:56Z asarch: How would you create an array of strings? 2020-01-31T02:23:14Z no-defun-allowed: (make-array :element-type 'string) 2020-01-31T02:23:33Z no-defun-allowed: The :element-type argument is a type specifier, yes. 2020-01-31T02:25:42Z asarch: (let ((v (make-array 3 :element-type 'string))) (push v "common") (push v "lisp") (push v "rocks!")) 2020-01-31T02:26:07Z asarch: My SBCL is broken: caught ERROR: Variable name is not a symbol: "common". etc 2020-01-31T02:26:34Z Josh_2: push is for lists 2020-01-31T02:27:16Z asarch: D'oh! 2020-01-31T02:27:20Z Josh_2: You need to use (vector-push-extend ) http://clhs.lisp.se/Body/f_vec_ps.htm 2020-01-31T02:28:07Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-31T02:28:18Z milanj quit (Quit: This computer has gone to sleep) 2020-01-31T02:30:03Z no-defun-allowed: And the order for arguments to PUSH is (PUSH ), such as (push "common" ) 2020-01-31T02:31:20Z msk quit (Remote host closed the connection) 2020-01-31T02:31:39Z msk joined #lisp 2020-01-31T02:32:54Z asarch: (let ((v (make-array 3 :element-type 'string))) (vector-push-extend v "common") (vector-push-extend v "lisp") (vector-push-extend v "rocks!")) 2020-01-31T02:33:07Z asarch: caught STYLE-WARNING: The default initial element 0 is not a STRING.? 2020-01-31T02:33:46Z no-defun-allowed: Add an :initial-element value too, such as "" 2020-01-31T02:38:42Z asarch: (let ((v (make-array 5 :adjustable t :initial-element "" :element-type 'string))) (vector-push-extend v "common") (vector-push-extend v "lisp") (vector-push-extend v "rocks!")) -> Evaluation aborted on #. 2020-01-31T02:38:45Z asarch: Come on! 2020-01-31T02:39:33Z Josh_2: make the type 'simple-array 2020-01-31T02:40:04Z no-defun-allowed: aeth: Read the syntax of VECTOR-PUSH-EXTEND. 2020-01-31T02:40:18Z no-defun-allowed: Or rather, asarch. But you are welcome to read it too, aeth. 2020-01-31T02:40:57Z no-defun-allowed: (VECTOR-PUSH-EXTEND ) ; so you probably want (vector-push-extend v) 2020-01-31T02:42:12Z EvW quit (Ping timeout: 248 seconds) 2020-01-31T02:43:45Z asarch: (let ((v (make-array 5 :adjustable t :initial-element "" :element-type 'string :fill-pointer 0))) (vector-push-extend "common" v) (vector-push-extend "lisp" v) (vector-push-extend "rocks!" v)) 2020-01-31T02:44:02Z ahungry joined #lisp 2020-01-31T02:44:12Z asarch: I thought it was a la OOP: (method object argument) 2020-01-31T02:44:48Z shrdlu68 quit (Ping timeout: 260 seconds) 2020-01-31T02:45:15Z Josh_2: When you define a generic function you can put the object wherever you want 2020-01-31T02:45:46Z no-defun-allowed: No, single-object oriented programming is a scam made by the Gang of Four to sell more design pattern books. 2020-01-31T02:47:04Z Josh_2: X to doubt 2020-01-31T02:47:18Z aeth: asarch: (1) It's (probably) not a method and (2) multiple-dispatch means you can dispatch anywhere 2020-01-31T02:47:24Z no-defun-allowed: ...and CLOS came in much later than most of the Common Lisp functions. 2020-01-31T02:48:43Z aeth: asarch: OOP would be foo.bar(baz, ...) which doesn't exist in CL. An equivalent could be something like (dot foo bar baz ...) but in CL it's just (bar foo baz ...) just like the "normal" language's bar(foo, baz, ...) because of the unified syntax 2020-01-31T02:49:11Z aeth: And hte first argument isn't special 2020-01-31T02:49:17Z aeth: s/hte/the/ 2020-01-31T02:49:39Z aeth: e.g. (defmethod foobar (foo (bar barfoo)) ...) only dispatches on the 2nd 2020-01-31T02:50:04Z asarch: Yeah, in message sending oop languages, it would be something a la: v.push("common"), however, in generic dispatching oop is (push v "common"), right? 2020-01-31T02:50:12Z aeth: So even if you're only doing single-dispatch, because the system itself is multiple-dispatch, there's no priviledged "self" first argument like in Python 2020-01-31T02:50:40Z aeth: asarch: you can't be sure that the order is reasonable in CL 2020-01-31T02:50:44Z aeth: it's an old language with lots of compatibility 2020-01-31T02:51:27Z aeth: asarch: personally, I would do (vector-push vector new-element) if I were to write it myself today, but because it's probably from like 1974 before they had API consistency, it's (Vector-push new-element vector) 2020-01-31T02:51:45Z aeth: It helpds to use something like SLIME to see the API 2020-01-31T02:52:18Z asarch: How would you do the same with lists?: (let ((v (list nil))) (append v "common") (append v "lisp") (append v "rocks!") (format t "Value: ~a~%" v)) 2020-01-31T02:52:27Z asarch: > Value: (NIL) 2020-01-31T02:52:30Z aeth: asarch: Basically, the CL authors would rather have some of the older functions with ugly APIs than do a Python 3 situation... and they managed to think of avoiding that kind of mess decades before the Python 3 situation happened. 2020-01-31T02:53:04Z aeth: (And for all I know, the programming world didn't start thinking that the other order was natural until the 90s or 00s) 2020-01-31T02:53:13Z no-defun-allowed: asarch: APPEND does not mutate its arguments, nor will it work as expected with non-list arguments. 2020-01-31T02:53:24Z aeth: asarch: The same with lists is just... push 2020-01-31T02:53:35Z aeth: lists are the oldest data structure so some of their names are more convenient 2020-01-31T02:53:47Z no-defun-allowed: You are going to have a lot of questions if you second-guess the functions in Common Lisp instead of reading the appropriate documentation. 2020-01-31T02:53:49Z no-defun-allowed: clhs append 2020-01-31T02:53:50Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_append.htm 2020-01-31T02:54:36Z aeth: asarch: note that a common pitfall is that push modifies a place, not a list itself, since a list is just a bunch of cons cells. http://www.lispworks.com/documentation/HyperSpec/Body/m_push.htm 2020-01-31T02:54:54Z aeth: So if you push in a helper function, the caller won't see that modification. 2020-01-31T02:54:56Z Josh_2: Like aeth says, it really helps to have something like SLIME to tell you the argument order 2020-01-31T02:55:23Z aeth: asarch: Generally, vectors work the way you expect them to, but list mutation macros tend to require some care. 2020-01-31T02:55:57Z aeth: There are lots of ways around that, like relying on a return value, or by building your own data structure on top of lists (most trivially, just putting the list in a 1-length vector or something similar) 2020-01-31T02:56:15Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-31T02:57:30Z asarch is fixing his notes once again... 2020-01-31T02:57:51Z aeth: (let ((l (list 1 2 3))) (push 0 l) l) => (0 1 2 3) 2020-01-31T02:58:01Z aeth: (defun g (l) (push 0 l)) (defun f () (let ((l (list 1 2 3))) (g l) l)) (f) => (1 2 3) 2020-01-31T02:58:07Z aeth: Vectors don't have that issue when you push. 2020-01-31T02:58:44Z aeth: One fix in my example is to just return the result of (g l) like this: (defun g (l) (push 0 l)) (defun f () (let ((l (list 1 2 3))) (g l) l)) (f) => (0 1 2 3) 2020-01-31T02:58:51Z aeth: But sometimes you have to be careful with your API design 2020-01-31T03:00:50Z aeth: A vector version: (defun g (v) (vector-push-extend 0 v)) (defun f () (let ((v (make-array 3 :adjustable t :fill-pointer 3 :initial-contents '(1 2 3)))) (g v) v)) (f) => #(1 2 3 0) 2020-01-31T03:01:55Z aeth: MAKE-ARRAY is complicated because it does a lot of things. Usually if you only care about a few features, you make a tiny helper function. And if you didn't need an adjustable vector you'd just use (vector 1 2 3) instead of that MAKE-ARRAY mess 2020-01-31T03:03:22Z aeth: oh oops, I didn't copy the correction so I pasted the same thing twice. The corrected list version is: (defun g (l) (push 0 l)) (defun f () (let ((l (list 1 2 3))) (g l))) (f) => (0 1 2 3) 2020-01-31T03:04:35Z aeth: asarch: I hope that helps. If you need more detail, we should probably take this to #clschool because it's pretty basic 2020-01-31T03:06:17Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-31T03:06:40Z gendl: Xach: what is this .cl TLD you speak of? I just tried some .cl domains on namecheap and it comes back as "invalid TLD" 2020-01-31T03:07:00Z no-defun-allowed: That is the TLD for Chile. 2020-01-31T03:07:19Z aeth: two letters is a country code 2020-01-31T03:07:30Z aeth: sometimes they're widely available e.g. .co 2020-01-31T03:07:44Z gendl: hmm. I guess Namecheap isn't set up to dispense the .cl TLD. 2020-01-31T03:08:15Z aeth: This has the relevant list: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes 2020-01-31T03:08:32Z aeth: (It has an Internet ccTLD column) 2020-01-31T03:09:28Z aeth: There are a few that don't match the country code e.g. .uk vs. GB 2020-01-31T03:09:31Z pjb: asarch: use clhs!!! 2020-01-31T03:09:48Z pjb: asarch: lisp operators are not commutative!!! 2020-01-31T03:10:43Z pjb: asarch: in message sending languages you would do: recipient message:argument. 2020-01-31T03:11:58Z pjb: gendl: .cl is Chile. 2020-01-31T03:19:47Z karlosz quit (Quit: karlosz) 2020-01-31T03:20:16Z karlosz joined #lisp 2020-01-31T03:20:37Z Khisanth quit (Ping timeout: 265 seconds) 2020-01-31T03:21:41Z mfiano: gendl: i forgot where i registered lisp.cl 2020-01-31T03:22:19Z mfiano: Ah, 101domain 2020-01-31T03:27:02Z georgiePorgie joined #lisp 2020-01-31T03:31:16Z orivej joined #lisp 2020-01-31T03:32:11Z msk_ joined #lisp 2020-01-31T03:32:40Z Oladon joined #lisp 2020-01-31T03:33:04Z Khisanth joined #lisp 2020-01-31T03:33:36Z msk quit (Read error: Connection reset by peer) 2020-01-31T03:34:13Z phlim quit (Quit: WeeChat 2.4) 2020-01-31T03:34:51Z phlim joined #lisp 2020-01-31T03:34:53Z karlosz quit (Quit: karlosz) 2020-01-31T03:35:25Z karlosz joined #lisp 2020-01-31T03:37:30Z refpga quit (Remote host closed the connection) 2020-01-31T03:38:04Z refpga joined #lisp 2020-01-31T03:42:04Z davepdotorg joined #lisp 2020-01-31T03:43:10Z phlim quit (Quit: phlim) 2020-01-31T03:43:38Z rumbler31 joined #lisp 2020-01-31T03:43:38Z shifty quit (Ping timeout: 240 seconds) 2020-01-31T03:43:46Z Fare joined #lisp 2020-01-31T03:44:30Z orivej quit (Ping timeout: 265 seconds) 2020-01-31T03:47:12Z davepdotorg quit (Ping timeout: 265 seconds) 2020-01-31T03:48:28Z rumbler31 quit (Ping timeout: 268 seconds) 2020-01-31T03:48:58Z Fare quit (Ping timeout: 260 seconds) 2020-01-31T03:57:43Z sjl joined #lisp 2020-01-31T04:05:05Z mfiano2 joined #lisp 2020-01-31T04:06:18Z loke joined #lisp 2020-01-31T04:08:54Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-31T04:11:19Z gravicappa joined #lisp 2020-01-31T04:21:18Z beach: Good morning everyone! 2020-01-31T04:21:24Z Josh_2: Mornin beach 2020-01-31T04:21:41Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-31T04:26:59Z georgiePorgie joined #lisp 2020-01-31T04:27:45Z refpga: Hello, Quiennec says in Lisp In Small pieces that modifiction in functional environment/namespace in CL is not possible, due to unavailability of any assignment form to do it. Although he refers to defun on the topic of redefinition. What is the difference between redefinition in function namespace, and the unavailable modification? 2020-01-31T04:28:41Z refpga: Sorry, he says this about Lisp_2 2020-01-31T04:29:10Z beach: I don't see how that is relevant for Common Lisp, since we have (SETF FDEFINITION). 2020-01-31T04:29:56Z beach: Oh, I guess it is not possible for functions introduced by LABELS or FLET. 2020-01-31T04:30:54Z beach: So perhaps he means that you can do (let ((x ...)) (setf x ...)), but not (flet ((f ...)) ) 2020-01-31T04:31:28Z refpga: If you define two consecutive functions via labels, then the latest/second one is used. 2020-01-31T04:31:49Z beach: That's different from assignment though. That's shadowing. 2020-01-31T04:32:34Z beach: Shadowing would not alter the binding in an outer scope. 2020-01-31T04:32:57Z refpga: You mean the scope changes instead of binding? I see. 2020-01-31T04:33:05Z beach: Yes. 2020-01-31T04:33:44Z refpga: Do you know if defun shadows or mutates the function binding? 2020-01-31T04:33:53Z MinnowTaur quit (Ping timeout: 260 seconds) 2020-01-31T04:34:00Z refpga: I mean, redefinition using defun, does it shadow the previous one? 2020-01-31T04:34:10Z akoana joined #lisp 2020-01-31T04:34:33Z kmeow joined #lisp 2020-01-31T04:34:33Z beach: It mutates, because it affects only the global binding. So it does (setf (fdefinition ) (lambda ...)) 2020-01-31T04:35:04Z beach: Common Lisp does have an assignment operation for global function bindings. 2020-01-31T04:35:39Z beach: DEFUN could not shadow, because if it did, you would then have to write the rest of your code in the body of the DEFUN. 2020-01-31T04:36:06Z beach: ... so that it would be in the scope of the new definition. 2020-01-31T04:36:14Z refpga: Yeah. 2020-01-31T04:37:33Z refpga: Thanks 2020-01-31T04:37:53Z beach: Sure. 2020-01-31T04:38:33Z ahungry quit (Remote host closed the connection) 2020-01-31T04:43:32Z kmeow quit (Ping timeout: 260 seconds) 2020-01-31T04:45:48Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-31T04:46:29Z refpga: beach: I am still able to do (setf (fdefinition ) (lambda ...)) with labels' functions. 2020-01-31T04:47:04Z beach: Yes, but it won't affect the lexical binding. 2020-01-31T04:48:15Z beach: Try (labels ((f (x) (+ x 2))) (setf (fdefinition 'f) (lambda (x) (+ x 3))) (f 10)) 2020-01-31T04:49:06Z MinnowTaur joined #lisp 2020-01-31T04:49:21Z refpga: Wait, no, I used (funcall (setf ..)) instead of applying it directly (f 10). 2020-01-31T04:49:35Z refpga: So yeah, we can't. 2020-01-31T04:50:10Z beach: Right, so you called the global binding. 2020-01-31T04:50:47Z refpga: Yeah 2020-01-31T04:51:21Z orivej joined #lisp 2020-01-31T04:51:52Z Oladon quit (Quit: Leaving.) 2020-01-31T04:51:54Z torbo quit (Remote host closed the connection) 2020-01-31T04:57:58Z swills quit (Ping timeout: 268 seconds) 2020-01-31T04:58:09Z swills joined #lisp 2020-01-31T05:02:55Z dale joined #lisp 2020-01-31T05:04:53Z pvaneynd_ quit (Ping timeout: 245 seconds) 2020-01-31T05:08:04Z akoana left #lisp 2020-01-31T05:12:45Z orivej quit (Ping timeout: 265 seconds) 2020-01-31T05:14:09Z kmeow joined #lisp 2020-01-31T05:16:53Z kmeow quit (Client Quit) 2020-01-31T05:17:12Z kmeow joined #lisp 2020-01-31T05:29:41Z mason quit (Quit: leaving) 2020-01-31T05:31:05Z dddddd quit (Remote host closed the connection) 2020-01-31T05:32:38Z mason joined #lisp 2020-01-31T05:34:38Z ebzzry joined #lisp 2020-01-31T05:39:17Z davepdotorg joined #lisp 2020-01-31T05:43:35Z shrdlu68 joined #lisp 2020-01-31T05:44:13Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-31T05:45:44Z pvaneynd joined #lisp 2020-01-31T05:49:43Z asarch: Bingo! I have finished to copy everything! :-) 2020-01-31T05:50:58Z ggole joined #lisp 2020-01-31T05:53:10Z narimiran joined #lisp 2020-01-31T05:53:30Z asarch: (let ((v (list))) (push "common" v) (push "lisp" v) (push "rocks!" v) (format t "Value: ~a~%" v)) 2020-01-31T05:55:40Z asarch: Can you have an array of different data types? If yes, how? 2020-01-31T05:56:29Z no-defun-allowed: Without an :element-type, the array can store any type of data. 2020-01-31T05:57:13Z no-defun-allowed: (The :element-type defaults to T, which is a type that every object is a member of.) 2020-01-31T05:57:50Z oxum quit (Remote host closed the connection) 2020-01-31T05:58:04Z space_otter joined #lisp 2020-01-31T05:58:48Z asarch: Thank you! Thank you very much guys! :-) 2020-01-31T06:05:13Z FreeBird_ quit (Remote host closed the connection) 2020-01-31T06:07:47Z asarch: The first time I wrote about arrays (re sizable) was with integer values, so I assume it was the same for strings (the notes I forgot to do was to use VECTOR-PUSH-EXTEND instead of only PUSH and always initialize the array with a size and a :fill-pointer of 0) 2020-01-31T06:08:12Z asarch: That's why I miserable failed this time :'-( 2020-01-31T06:08:13Z FreeBirdLjj joined #lisp 2020-01-31T06:08:18Z no-defun-allowed: If you intend to use V-P-E, you should also ensure the array is adjustable. 2020-01-31T06:09:31Z asarch: Ok 2020-01-31T06:11:01Z Nilby: If you want to repeatedly append to a string with-output-to-string might be most effective. 2020-01-31T06:12:46Z asarch: I did an array of objects here (lines #60 and #66): https://github.com/asarch/flor/blob/master/flor.lisp 2020-01-31T06:12:53Z beach: asarch: What is the objective of your exercise? You don't seem to use this knowledge to write Common Lisp programs. Are you writing a book? 2020-01-31T06:13:17Z asarch: No, I am not writing any book at all 2020-01-31T06:13:29Z beach: Then what are you up to? :) 2020-01-31T06:13:37Z vlatkoB joined #lisp 2020-01-31T06:14:12Z shifty joined #lisp 2020-01-31T06:14:28Z asarch: A friend of mine (a medical doctor) is taking lessons about data mining with Python. However, I am trying to convincing him to use Common Lisp instead 2020-01-31T06:14:56Z asarch: For that, I am "writing a mini tutorial" about the principles of Common Lisp programming 2020-01-31T06:15:07Z beach: I strongly advice against such an exercise, especially if you don't know Common Lisp yourself. 2020-01-31T06:15:36Z asarch: Exactly! A blind guy guiding another blind guy :-P 2020-01-31T06:15:37Z beach: Your friend is going to make mistakes, and you will be unable to help. 2020-01-31T06:16:12Z asarch: The firs step was done with CL REPL for Android 2020-01-31T06:16:56Z beach: Wow, that code needs a lot of work. 2020-01-31T06:17:19Z asarch: At noon I was at the part of '("common" "lisp" "rocks") when I realize about the data type of '(common lisp rocks!) <- SYMBOLS! 2020-01-31T06:18:07Z Nilby: But maybe his friend will be like another Kevin Rosenberg. 2020-01-31T06:18:10Z beach: That's precisely my point. What basis do you have for recommending a language that you only know a tiny part of. 2020-01-31T06:18:18Z asarch: Yeah, I know. Mostly because cl-glut is not finished yet (the part of the menus fails) 2020-01-31T06:18:51Z beach: No, that code needs work, because it doesn't correspond to elementary style conventions. 2020-01-31T06:18:57Z asarch: Well, you know. Common Lisp has always been considered the programming language of smart people :-) 2020-01-31T06:19:17Z asarch: Yeah, yeah. Sorry for my style :'-( 2020-01-31T06:19:19Z shka_ joined #lisp 2020-01-31T06:19:21Z beach: I think you just reversed your causality. 2020-01-31T06:20:21Z sauvin joined #lisp 2020-01-31T06:21:13Z asarch: I just want to "infect" his brain with Common Lisp, the rest is up to him :-P 2020-01-31T06:21:49Z asarch: As the "Land of Lisp" book says: "once you tried Common Lisp, you never will be the same" 2020-01-31T06:22:30Z no-defun-allowed: "In a world of blind people, the one eyed people run it and the two eyed people are in for a hell of a ride." 2020-01-31T06:22:38Z alandipert: enthusiasm goes a long way. godspeed asarch! 2020-01-31T06:22:51Z oxum_ joined #lisp 2020-01-31T06:23:38Z asarch: And, as the old adage used to say: the best way to learn is to teach, right? 2020-01-31T06:24:23Z no-defun-allowed: Maybe, maybe not. 2020-01-31T06:24:25Z alandipert: not sure it's the best way, but it's a way, no doubt :-) 2020-01-31T06:24:39Z FreeBirdLjj quit (Ping timeout: 272 seconds) 2020-01-31T06:24:39Z Josh_2: asarch: It's a good way to remember thigns 2020-01-31T06:25:07Z no-defun-allowed: I wouldn't follow sayings just because. 2020-01-31T06:25:34Z asarch: I don't even know I had those "basic questions" until this noon when I tried to explain how to create arrays in Common Lisp (my notes were literally blank for those questions) 2020-01-31T06:25:48Z asarch: s/don't/din't/ 2020-01-31T06:27:21Z asarch: "That, who doesn't follow sayings don't get to be an old man" says the saying :-P 2020-01-31T06:27:27Z FreeBirdLjj joined #lisp 2020-01-31T06:27:30Z asarch: Who knows :-) 2020-01-31T06:28:06Z no-defun-allowed: What about "Tradition is peer pressure from dead people"? I would say the same for all those damn sayings. 2020-01-31T06:29:34Z asarch: Touché! 2020-01-31T06:31:07Z asarch: I hope some day I could teach Japanese (無料の日本語レッスン) 2020-01-31T06:31:46Z oni-on-ion: impossible japanese lesson? =) japanese love lisp. 2020-01-31T06:35:10Z beach: asarch: The good way to learn a foreign language is by reading, writing, listening, and speaking. Not by asking other people what the grammar rules are. If you do it the wrong way, you will produce nonsensical and unconventional phrases. 2020-01-31T06:36:22Z zaquest quit (Quit: Leaving) 2020-01-31T06:36:22Z beach: asarch: The good way to learn a programming language is by reading code written by experts, and practicing by writing it and get feedback. Not by asking other people what the semantics are. 2020-01-31T06:36:45Z asarch: I know (the other quickly way is to get married with a native person). However, grammar is always... 2020-01-31T06:36:46Z beach: If you do it the wrong way, you will produce nonsensical and unconventional programs. 2020-01-31T06:36:49Z shka_ quit (Ping timeout: 268 seconds) 2020-01-31T06:37:06Z oni-on-ion: like learning our first language as a baby: like our life depended on it. then we are natural with it, having internalized a great deal of meaning and possibilities of expression 2020-01-31T06:38:24Z asarch: If everything was the first language, everything was fine. However, when you pass from C++ to Perl to Python to JavaScript... (like from Spanish to English to German to Japanese) :'-( 2020-01-31T06:38:45Z asarch: *everything would be fine... 2020-01-31T06:40:12Z Nilby produces mostly nonsensical and unconventional programs. 2020-01-31T06:40:42Z beach: asarch: I say, tell your friend to come here and ask questions directly, to show the programs that he or she writes, so as to get feedback from people with more experience and more knowledge than you have. 2020-01-31T06:41:54Z asarch: I already did it! That was the step #2. The use of this IRC channel (with an IRC-client for his "shining Mac OS baby Operating System") :-P 2020-01-31T06:41:57Z beach: asarch: What you are up to is very likely going to end in tears. 2020-01-31T06:42:50Z asarch: He used to be an Slacker (Slackware 10) 2020-01-31T06:44:18Z pjb: asarch: once you try anything, you never will be the same, (unless you're gavino), since you've learned something! You will forever have the memory of the thing you tried. 2020-01-31T06:44:27Z pjb: asarch: it's not specific to lisp. 2020-01-31T06:44:30Z beach: asarch: Plus, it gets boring to answer elementary questions. Normally, the person makes progress and no longer needs to ask elementary questions. But since you don't practice, you make very little progress. 2020-01-31T06:44:50Z pjb: still not knowing that foo is a symbol… pffft! 2020-01-31T06:45:21Z beach: Yes, very elementary. And asarch has been coming here for quite some time. 2020-01-31T06:45:54Z visage_ joined #lisp 2020-01-31T06:46:28Z beach: October 19, 2017 in fact. 2020-01-31T06:46:51Z beach: More than two years, and still not knowing what a symbol is. 2020-01-31T06:47:20Z asarch: I know, I know. I suck. I'm still porting my https://github.com/asarch/apt-cache/ to a most powerful web server (Hunchentoot?) than PortableAllegroServer 2020-01-31T06:47:22Z beach: That has got to be some kind of record. 2020-01-31T06:47:47Z oni-on-ion: oh wow. beach you should be commended for your patience, and efforts. 2020-01-31T06:48:39Z oni-on-ion: what was he coding in previously? 2020-01-31T06:48:39Z beach: oni-on-ion: Can I assume that was not supposed to be sarcasm? 2020-01-31T06:48:46Z pjb: asarch: you see, this is the problem. You're trying to work on lisp program while still not having learned the most basic. You're like a baby who doesn't know how to walk, and you'd want to work as CEO of Nike… 2020-01-31T06:48:51Z pjb: s/to work/to walk/ 2020-01-31T06:48:57Z clothespin quit (Ping timeout: 260 seconds) 2020-01-31T06:49:26Z zaquest joined #lisp 2020-01-31T06:49:26Z pjb: asarch: stop everything, take two months of your time, and study Common Lisp: A Gentle Introduction to Symbolic Computation http://www.cs.cmu.edu/~dst/LispBook/ http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html 2020-01-31T06:50:05Z beach: asarch: I find this behavior of yours very impolite, even though superficially your phrases are humble. 2020-01-31T06:50:21Z asarch: That was my first approach pjb 2020-01-31T06:50:32Z oni-on-ion: beach, nope. i think you are very patient with people's "traits", myself included. its well above average. 2020-01-31T06:51:24Z asarch: I stopped to read that book the time I tried to (setf foo "bar") instead of (let ((foo "bar")) ...) <- The book actually doesn't explain it 2020-01-31T06:52:14Z oni-on-ion: there must be some existing memory or concept in his mind that could be related to something he does not understand, such as what is a symbol 2020-01-31T06:52:27Z asarch: I mean, the first time you learn Python, you read something like: 2020-01-31T06:52:28Z asarch: a = 10 2020-01-31T06:52:47Z asarch: "The variable 'a' now values 10" 2020-01-31T06:52:58Z oni-on-ion: lambda calculus. do u know any math ? 2020-01-31T06:53:28Z no-defun-allowed: asarch: Now, how does that work when another function tries to access it? 2020-01-31T06:53:52Z oni-on-ion: if you are reading and writing code as literal prose then it wont work. there are concepts *behind* the literal text. i think that is where the darkness of learning resides 2020-01-31T06:54:13Z no-defun-allowed: In Python, that scope is (mostly) implicit (unless you use the `global` keyword in the body of a function), which leads to a large set of bugs. 2020-01-31T06:54:51Z Josh_2: asarch: I agree with pjb 2020-01-31T06:54:53Z aeth: asarch: programming, like math, is a learn-by-doing subject that's best learned by doing as many exercises as possible, or in the case of programming, writing programs, which are even more practical and useful than exercises. 2020-01-31T06:55:20Z aeth: What's great about CL is you can just enter things in the REPL and in effect ask it your questions, once you learn how to learn CL 2020-01-31T06:55:35Z oni-on-ion: there is more than meets the eye 2020-01-31T06:58:36Z oni-on-ion: yea have a conversation with the compiler, cant learn much language without actual practice of it. ("like your life depended on it" - our whole life is language-learning - all we see is symbolic to deeper meaning, which increases by the act of learning (lights up the darkness)) ahem so asarch just spend more time speaking lisp. with the main entities that everyone speaks it with, the compiler (REPL). otherwise it wont grow into anything 2020-01-31T06:58:36Z oni-on-ion: beyond what it looks like on the screen. 2020-01-31T06:59:03Z asarch: In Common Lisp you can't do the Python example because you need a scope for the variable 2020-01-31T06:59:26Z no-defun-allowed: Correct. 2020-01-31T06:59:38Z asarch: Scope is a very important concept in Common Lisp 2020-01-31T06:59:51Z asarch: The book simply doesn't mention 2020-01-31T07:00:08Z asarch: So, you "grow" with the lack of that info and then eventually... 2020-01-31T07:00:17Z asarch: *grow up 2020-01-31T07:00:20Z Josh_2: wat 2020-01-31T07:00:43Z beach: oni-on-ion: Thanks! 2020-01-31T07:00:44Z pjb: actually, it works at the REPL. It's just that it's not conforming. It is not specified what kind of variable you get. So I don't know what you're complaining about. 2020-01-31T07:00:46Z no-defun-allowed: And then in Python, using `with` will trash the current scope, because it does not establish a new scope for the variable that is being bound. There are only a few places you can establish a new scope to create new bindings. 2020-01-31T07:01:17Z Josh_2: it talks about scoping in the final chapter 2020-01-31T07:01:18Z Nilby: oni-on-ion: I like your poetic description of conversing with a REPL :) 2020-01-31T07:02:23Z oni-on-ion: Nilby, ty 2020-01-31T07:02:24Z oni-on-ion: beach, np 2020-01-31T07:02:42Z aeth: no-defun-allowed: Does Python have anything like C/C++'s arbitrary { ... } for new scope? I've used that a few times. I wouldn't have even thought to use that feature if I didn't know CL, though. 2020-01-31T07:02:54Z aeth: LET is way more obvious about it 2020-01-31T07:02:58Z no-defun-allowed: Nope. 2020-01-31T07:03:25Z no-defun-allowed: Well, you could do `def foo(): ..... foo()` to create a function scope in foo, but that's silly. 2020-01-31T07:03:50Z aeth: If you have a large function, it's just way better to create a new scope within that large function so you avoid the mistakes you can get from reusing some common word like foo 2020-01-31T07:04:13Z oni-on-ion: lambda everything , all other forms are hax 2020-01-31T07:04:16Z Josh_2: asarch: Gentle into to symbolic computation talks about lexical scope quite a lot 2020-01-31T07:04:24Z Josh_2: Go through the PDF and search for "lexical" 2020-01-31T07:04:25Z creat_ quit (Ping timeout: 250 seconds) 2020-01-31T07:04:41Z aeth: And if you don't distinguish between initialization of a variable and setting a variable, like python, then it's very easy to just "foo = 42" and now you changed the foo you had earlier on in the function 2020-01-31T07:04:46Z aeth: and you might not even realize it 2020-01-31T07:05:00Z aeth: You think you're creating foo. LET vs. SETF makes that clear. 2020-01-31T07:05:46Z Cymew joined #lisp 2020-01-31T07:06:05Z asarch: The next thing you learn is: "Common Lisp is made of lists. List are made of SYMBOLS" and the first thing it comes to your mind when you read the word "SYMBOLS" is something like “For some x ∈ N...” since Lisp was actually modeled after lambda calculus, right? 2020-01-31T07:06:12Z larme quit (Ping timeout: 248 seconds) 2020-01-31T07:06:35Z visage_ quit (Quit: visage_) 2020-01-31T07:06:35Z thonkpod quit (Ping timeout: 250 seconds) 2020-01-31T07:06:39Z beach: Pretty much all wrong. 2020-01-31T07:06:41Z no-defun-allowed: N...not really? 2020-01-31T07:06:44Z _whitelogger quit (Ping timeout: 248 seconds) 2020-01-31T07:06:54Z Cymew: What are you reading, really? 2020-01-31T07:07:04Z creat joined #lisp 2020-01-31T07:07:08Z aeth: The syntax is lists, not the language itself. Lists contain not just symbols, but "atoms and conses", but that's tautological since that covers everything. 2020-01-31T07:07:08Z beach: asarch: Please stop this nonsense. 2020-01-31T07:07:16Z visage_ joined #lisp 2020-01-31T07:07:55Z aeth: And "atom" (not symbol) is an archaic way of looking at Lisp because e.g. a vector, a string, and a hash-table are atoms 2020-01-31T07:08:19Z _whitelogger_ joined #lisp 2020-01-31T07:08:38Z thonkpod joined #lisp 2020-01-31T07:09:11Z Cymew: Look at that, they are. I had forgotten that. 2020-01-31T07:09:22Z Cymew: Makes sense, though. 2020-01-31T07:12:59Z beach: So are functions, classes, methods, effective slot definitions, ... 2020-01-31T07:13:00Z JohnMS_WORK joined #lisp 2020-01-31T07:13:20Z larme joined #lisp 2020-01-31T07:14:01Z asarch: Once you get used to with those concepts, you find Common Lisp very pleasant since you don't actually need ; and { ... } and tabs to define scopes, right? 2020-01-31T07:14:38Z Josh_2: I think you should go to #clschool 2020-01-31T07:14:39Z aeth: Common Lisp... has one of the most explicit scoping systems out there, and is thus a bit more verbose and 'less convenient" even though imo it leads to more reliable code 2020-01-31T07:14:44Z pjb: Yeah, exactly right! It's because we don't need the semi-colon and the braces that lisp is so nice. 2020-01-31T07:14:44Z beach: So for example when a method combination creates an effective method from individual methods, the expression being compiled likely contains some such atoms. 2020-01-31T07:14:45Z asarch: (if predicate foo bar) can be expanded to (if predicate (let ...) (let ...)) 2020-01-31T07:15:05Z oni-on-ion: atom = "smallest part[icle]" ? 2020-01-31T07:15:16Z beach: asarch: Will you please stop it now! 2020-01-31T07:15:18Z pjb: oni-on-ion: no, it means indivisible. 2020-01-31T07:15:27Z aeth: oni-on-ion: except in CL it can include huge "collection" sort of things, not things you think of as "basic" like 42 or #\c 2020-01-31T07:15:35Z pjb: oni-on-ion: but atoms, like atoms, are discovered not to be so indivisible after all. 2020-01-31T07:15:51Z aeth: I guess 42 and #\c should be called subatomic-particles 2020-01-31T07:15:54Z asarch: Ok, ok :-( 2020-01-31T07:15:57Z aeth: (just like in RL, when you split an atom) 2020-01-31T07:16:03Z oni-on-ion: pjb, so yes then XD the smallest part is without being possible to divide further. 2020-01-31T07:16:08Z pjb: atoms are split into electrons and nucleus (itself divisible into protons and neutrons, themselves …), and atoms are split into slots and other attributes. 2020-01-31T07:16:28Z aeth: asarch: This channel will tend to be harsher/ruder with the basics when compared to #clschool 2020-01-31T07:16:30Z oni-on-ion: pjb, and yep -- smaller stuff than atoms irl =) (we can say bits and bytes in lisp though) 2020-01-31T07:16:37Z pjb: in physics, atom are just nucleus with electrons. in lisp, atoms are anything that is not a cons cell. 2020-01-31T07:17:41Z aeth: we should come up with a term for things that don't have slots (I'm counting e.g. (aref foo 42) as a slot access, too), like (non-complex?) numbers and characters 2020-01-31T07:17:50Z oni-on-ion: except cons cell -- yeah makes sense. but wait, (cons a b) is not an atom? 2020-01-31T07:18:04Z aeth: oni-on-ion: it's defined relative to iterating over a list 2020-01-31T07:18:09Z oni-on-ion: or are cons different 2020-01-31T07:18:12Z pjb: nope. It's a cons cell, containing cons in its car, and (a b) in its cdr. 2020-01-31T07:18:36Z pjb: and neither is (a . d) a n atom. It's a cons cell containing a in its car, and d in its cdr. 2020-01-31T07:18:48Z FreeBird_ joined #lisp 2020-01-31T07:18:53Z aeth: oni-on-ion: relative to iterating over a list, you have cons and not-cons, it's just that not-cons is called "atom" even though that's sort of confusing in other contexts 2020-01-31T07:19:05Z aeth: And of the atoms, NIL is sort of special for list iteration 2020-01-31T07:19:11Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-31T07:19:12Z asarch: aeth: I know, right now some guys are in a fight in a corner of the channel. The rude guys! The rude guys! \o/ 2020-01-31T07:19:19Z oni-on-ion: ah right. hmm. i've always thought of them as (cons a b) --- because of the books i read. it made car/cdr/etc confusing. (i dont think all books are for everyone) 2020-01-31T07:19:41Z oni-on-ion: pjb, ah i see 2020-01-31T07:21:42Z oni-on-ion: hmm. going to play around with that in repl to solidify the understanding. thx 2020-01-31T07:22:16Z rumbler31 joined #lisp 2020-01-31T07:22:23Z pjb: (mapcar 'atom '(1 "one" one (o n e) #c(1 2) #(1 one "one" (o n e)))) #| --> (t t t nil t t) |# 2020-01-31T07:22:23Z pjb: 2020-01-31T07:22:50Z z147 joined #lisp 2020-01-31T07:24:44Z vaporatorius quit (Ping timeout: 268 seconds) 2020-01-31T07:26:28Z rumbler31 quit (Ping timeout: 248 seconds) 2020-01-31T07:28:31Z vaporatorius joined #lisp 2020-01-31T07:28:31Z vaporatorius quit (Changing host) 2020-01-31T07:28:31Z vaporatorius joined #lisp 2020-01-31T07:31:06Z dale quit (Quit: My computer has gone to sleep) 2020-01-31T07:34:47Z brown121407 joined #lisp 2020-01-31T07:36:43Z asarch: Who is Kevin Rosenberg anyway? 2020-01-31T07:39:26Z oni-on-ion: pjb, ohhh. yeah, ok i did know that. i was thinking about the function cons itself. but a much deeper perspective on conses has grown now. =) 2020-01-31T07:40:38Z adriano1 joined #lisp 2020-01-31T07:41:44Z jjongMc joined #lisp 2020-01-31T07:42:18Z shrdlu68 quit (Ping timeout: 265 seconds) 2020-01-31T07:44:44Z oxum_ quit (Read error: Connection reset by peer) 2020-01-31T07:45:12Z oxum joined #lisp 2020-01-31T07:45:16Z adriano1 quit (Ping timeout: 268 seconds) 2020-01-31T07:45:29Z davepdotorg joined #lisp 2020-01-31T07:46:29Z milanj joined #lisp 2020-01-31T07:47:35Z jprajzne_ quit (Read error: Connection reset by peer) 2020-01-31T07:50:49Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-31T07:50:56Z orivej joined #lisp 2020-01-31T07:52:53Z shangul joined #lisp 2020-01-31T07:53:06Z vaporatorius quit (Ping timeout: 268 seconds) 2020-01-31T07:55:39Z vaporatorius joined #lisp 2020-01-31T07:58:36Z jjongMc quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2020-01-31T07:59:59Z visage_ quit (Quit: visage_) 2020-01-31T08:01:52Z shrdlu68 joined #lisp 2020-01-31T08:06:48Z orivej quit (Ping timeout: 260 seconds) 2020-01-31T08:07:45Z v_m_v joined #lisp 2020-01-31T08:11:47Z kajo quit (Ping timeout: 265 seconds) 2020-01-31T08:14:36Z pvaneynd quit (Remote host closed the connection) 2020-01-31T08:14:50Z shrdlu68 quit (Ping timeout: 240 seconds) 2020-01-31T08:15:12Z pvaneynd joined #lisp 2020-01-31T08:17:04Z georgiePorgie joined #lisp 2020-01-31T08:17:16Z asarch: Have a nice day 2020-01-31T08:17:20Z asarch: See you later :-) 2020-01-31T08:17:26Z asarch: Thanks for all! 2020-01-31T08:17:33Z asarch quit (Quit: Leaving) 2020-01-31T08:19:25Z rwcom2 joined #lisp 2020-01-31T08:19:28Z pvaneynd quit (Ping timeout: 245 seconds) 2020-01-31T08:20:51Z rwcom quit (Ping timeout: 268 seconds) 2020-01-31T08:20:53Z rwcom2 is now known as rwcom 2020-01-31T08:27:13Z v_m_v quit (Ping timeout: 260 seconds) 2020-01-31T08:37:51Z karlosz quit (Quit: karlosz) 2020-01-31T08:42:54Z kajo joined #lisp 2020-01-31T08:43:15Z davepdotorg joined #lisp 2020-01-31T08:52:48Z msk joined #lisp 2020-01-31T08:53:44Z msk_ quit (Read error: Connection reset by peer) 2020-01-31T08:54:37Z gxt joined #lisp 2020-01-31T08:57:48Z oni-on-ion quit (Remote host closed the connection) 2020-01-31T08:58:37Z space_otter quit (Remote host closed the connection) 2020-01-31T09:01:20Z hhdave joined #lisp 2020-01-31T09:03:28Z easye quit (Remote host closed the connection) 2020-01-31T09:05:18Z oxum quit (Read error: Connection reset by peer) 2020-01-31T09:05:40Z oxum joined #lisp 2020-01-31T09:09:33Z shrdlu68 joined #lisp 2020-01-31T09:11:32Z jonatack quit (Ping timeout: 248 seconds) 2020-01-31T09:13:06Z wxie joined #lisp 2020-01-31T09:14:38Z sunwukong joined #lisp 2020-01-31T09:19:03Z pvaneynd joined #lisp 2020-01-31T09:20:17Z heisig joined #lisp 2020-01-31T09:21:24Z heisig quit (Client Quit) 2020-01-31T09:22:18Z oxum quit (Read error: Connection reset by peer) 2020-01-31T09:22:21Z oxum_ joined #lisp 2020-01-31T09:22:28Z heisig joined #lisp 2020-01-31T09:22:34Z heisig quit (Client Quit) 2020-01-31T09:29:03Z wxie quit (Ping timeout: 260 seconds) 2020-01-31T09:29:20Z msk quit (Remote host closed the connection) 2020-01-31T09:29:39Z msk joined #lisp 2020-01-31T09:30:27Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-31T09:32:43Z v_m_v joined #lisp 2020-01-31T09:33:00Z shifty quit (Ping timeout: 268 seconds) 2020-01-31T09:39:02Z _whitelogger_ quit (Remote host closed the connection) 2020-01-31T09:40:20Z msk quit (Remote host closed the connection) 2020-01-31T09:40:42Z msk joined #lisp 2020-01-31T09:41:15Z _whitelogger joined #lisp 2020-01-31T09:43:55Z z147 quit (Quit: z147) 2020-01-31T09:47:20Z oxum joined #lisp 2020-01-31T09:48:01Z adriano1 joined #lisp 2020-01-31T09:48:10Z oxum__ joined #lisp 2020-01-31T09:48:53Z refpga quit (Ping timeout: 260 seconds) 2020-01-31T09:49:50Z oxum_ quit (Ping timeout: 268 seconds) 2020-01-31T09:50:05Z brown121407 quit (Remote host closed the connection) 2020-01-31T09:51:48Z ljavorsk joined #lisp 2020-01-31T09:52:19Z rumbler31 joined #lisp 2020-01-31T09:52:23Z oxum quit (Ping timeout: 272 seconds) 2020-01-31T09:52:59Z cartwright quit (Remote host closed the connection) 2020-01-31T09:55:01Z cartwright joined #lisp 2020-01-31T09:55:28Z frodef joined #lisp 2020-01-31T09:57:12Z jonatack joined #lisp 2020-01-31T09:57:21Z rumbler31 quit (Remote host closed the connection) 2020-01-31T10:05:48Z sunwukong quit (Remote host closed the connection) 2020-01-31T10:06:38Z shifty joined #lisp 2020-01-31T10:11:57Z ebzzry quit (Read error: Connection reset by peer) 2020-01-31T10:19:32Z pvaneynd quit (Ping timeout: 260 seconds) 2020-01-31T10:20:45Z oxum joined #lisp 2020-01-31T10:23:32Z msk_ joined #lisp 2020-01-31T10:23:53Z oxum__ quit (Ping timeout: 260 seconds) 2020-01-31T10:24:01Z msk quit (Ping timeout: 265 seconds) 2020-01-31T10:25:40Z Necktwi quit (Ping timeout: 248 seconds) 2020-01-31T10:26:41Z v88m quit (Remote host closed the connection) 2020-01-31T10:26:59Z v88m joined #lisp 2020-01-31T10:27:27Z oxum quit (Ping timeout: 268 seconds) 2020-01-31T10:29:21Z pvaneynd joined #lisp 2020-01-31T10:32:05Z oxum joined #lisp 2020-01-31T10:36:03Z ljavorsk quit (Remote host closed the connection) 2020-01-31T10:36:22Z ljavorsk joined #lisp 2020-01-31T10:41:16Z p_l: a bit of archeological question - what's the newest lisp implementation that can be used to build CMUCL from source? 2020-01-31T10:41:34Z jackdaniel: cmucl of course :) 2020-01-31T10:42:58Z vaporatorius quit (Read error: Connection reset by peer) 2020-01-31T10:43:03Z cosimone joined #lisp 2020-01-31T10:43:56Z vaporatorius joined #lisp 2020-01-31T10:43:56Z vaporatorius quit (Changing host) 2020-01-31T10:43:56Z vaporatorius joined #lisp 2020-01-31T10:44:10Z shrdlu68 quit (Remote host closed the connection) 2020-01-31T10:45:50Z p_l: well, one that is *not* cmucl 2020-01-31T10:46:24Z p_l: because building purely from source using other lisp seems to me to require late-version MACLISP from CMU... 2020-01-31T10:46:41Z jackdaniel: if I understand correctly cmucl build process depends on cmucl-specific things of the compiler; afaik that's one of few reasons why sbcl forked from cmucl 2020-01-31T10:46:59Z p_l: yep 2020-01-31T10:47:11Z jackdaniel: so indeed you'd need to take an early source of cmucl, run maclisp on something and build it 2020-01-31T10:47:19Z jackdaniel: then use this early build of cmucl to build newer version 2020-01-31T10:47:21Z jackdaniel: etc etc 2020-01-31T10:47:53Z jackdaniel: or you may fork cmucl and reimplement sbcl! ,) 2020-01-31T10:49:13Z frodef: ..or why not just pull yourself up by the bootstraps? :) 2020-01-31T10:49:14Z jackdaniel: alternatively you could write a "cmucl portability layer" which adds missing operators which the build process requires to the host compiler 2020-01-31T10:49:36Z jackdaniel: s/to the/from the/ 2020-01-31T10:49:53Z p_l: jackdaniel: that's partially what SBCL did (except it also modified core generation afaik to not depend on dumping host core) 2020-01-31T10:50:06Z jackdaniel: well, "to the" was refering to what you add, and "from the" refers to the build process which requires 2020-01-31T10:53:24Z Zotan quit (Ping timeout: 248 seconds) 2020-01-31T10:53:35Z Zotan joined #lisp 2020-01-31T10:54:11Z narimiran quit (Ping timeout: 265 seconds) 2020-01-31T10:54:26Z Nilby: I tried to build cmu a few days ago from current source and it failed. Does anyone use it on "amd64" linux or am I just missing something? 2020-01-31T11:07:53Z oxum quit (Read error: Connection reset by peer) 2020-01-31T11:07:54Z bitmapper joined #lisp 2020-01-31T11:08:11Z vaporatorius quit (Read error: Connection reset by peer) 2020-01-31T11:08:36Z pvaneynd quit (Remote host closed the connection) 2020-01-31T11:09:13Z pvaneynd joined #lisp 2020-01-31T11:09:27Z adriano1 quit (Ping timeout: 265 seconds) 2020-01-31T11:10:02Z jjong quit (Remote host closed the connection) 2020-01-31T11:11:34Z vaporatorius joined #lisp 2020-01-31T11:11:48Z vaporatorius quit (Changing host) 2020-01-31T11:11:48Z vaporatorius joined #lisp 2020-01-31T11:14:03Z Guest19180 quit (Ping timeout: 240 seconds) 2020-01-31T11:18:01Z Solenoid_Snake joined #lisp 2020-01-31T11:21:19Z v_m_v quit (Remote host closed the connection) 2020-01-31T11:23:57Z adriano1 joined #lisp 2020-01-31T11:24:52Z oxum joined #lisp 2020-01-31T11:25:39Z oxum_ joined #lisp 2020-01-31T11:29:28Z oxum quit (Ping timeout: 265 seconds) 2020-01-31T11:30:54Z bitmapper quit 2020-01-31T11:38:48Z jonatack quit (Ping timeout: 268 seconds) 2020-01-31T11:39:34Z orivej joined #lisp 2020-01-31T11:42:38Z vaporatorius quit (Ping timeout: 260 seconds) 2020-01-31T11:43:45Z vaporatorius joined #lisp 2020-01-31T11:43:45Z vaporatorius quit (Changing host) 2020-01-31T11:43:45Z vaporatorius joined #lisp 2020-01-31T11:46:02Z cosimone quit (Quit: Terminated!) 2020-01-31T11:50:21Z shrdlu68 joined #lisp 2020-01-31T11:51:26Z dddddd joined #lisp 2020-01-31T11:53:06Z oxum joined #lisp 2020-01-31T11:55:28Z georgiePorgie joined #lisp 2020-01-31T11:56:32Z oxum_ quit (Ping timeout: 265 seconds) 2020-01-31T11:56:40Z v_m_v joined #lisp 2020-01-31T12:01:18Z v_m_v quit (Ping timeout: 260 seconds) 2020-01-31T12:01:33Z shrdlu68 quit (Ping timeout: 245 seconds) 2020-01-31T12:05:48Z shrdlu68 joined #lisp 2020-01-31T12:06:09Z milanj quit (Quit: This computer has gone to sleep) 2020-01-31T12:06:26Z Cyzx400 joined #lisp 2020-01-31T12:09:49Z Solenoid_Snake quit (Ping timeout: 272 seconds) 2020-01-31T12:10:30Z Solenoid_Snake joined #lisp 2020-01-31T12:10:50Z Cyzx400 quit (Ping timeout: 240 seconds) 2020-01-31T12:13:41Z FreeBird_ quit (Remote host closed the connection) 2020-01-31T12:15:36Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-01-31T12:19:45Z v_m_v joined #lisp 2020-01-31T12:23:02Z Lord_of_Life_ joined #lisp 2020-01-31T12:24:12Z v_m_v quit (Remote host closed the connection) 2020-01-31T12:25:28Z Cyzx400 joined #lisp 2020-01-31T12:25:39Z vaporatorius quit (Read error: Connection reset by peer) 2020-01-31T12:26:03Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-01-31T12:26:12Z Lord_of_Life_ is now known as Lord_of_Life 2020-01-31T12:28:52Z Solenoid_Snake quit (Ping timeout: 248 seconds) 2020-01-31T12:29:29Z kmeow quit (Remote host closed the connection) 2020-01-31T12:30:04Z vaporatorius joined #lisp 2020-01-31T12:30:04Z vaporatorius quit (Changing host) 2020-01-31T12:30:04Z vaporatorius joined #lisp 2020-01-31T12:32:42Z FreeBirdLjj joined #lisp 2020-01-31T12:33:34Z v_m_v joined #lisp 2020-01-31T12:36:51Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2020-01-31T12:38:04Z Guest19180 joined #lisp 2020-01-31T12:38:16Z milanj joined #lisp 2020-01-31T12:39:25Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-31T12:39:43Z v_m_v quit (Remote host closed the connection) 2020-01-31T12:40:05Z FreeBirdLjj joined #lisp 2020-01-31T12:42:56Z Guest19180 quit (Ping timeout: 268 seconds) 2020-01-31T12:44:02Z oxum quit (Ping timeout: 240 seconds) 2020-01-31T12:44:45Z georgiePorgie quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-01-31T12:44:51Z oxum joined #lisp 2020-01-31T12:45:18Z oxum quit (Read error: Connection reset by peer) 2020-01-31T12:45:31Z oxum joined #lisp 2020-01-31T12:48:34Z Odin- quit (Quit: Meep.) 2020-01-31T12:50:45Z milanj quit (Read error: Connection reset by peer) 2020-01-31T12:50:57Z narimiran joined #lisp 2020-01-31T12:51:04Z milanj joined #lisp 2020-01-31T12:52:34Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2020-01-31T12:53:52Z FreeBirdLjj joined #lisp 2020-01-31T12:55:10Z Solenoid_Snake joined #lisp 2020-01-31T12:55:22Z v_m_v joined #lisp 2020-01-31T12:57:55Z Cyzx400 quit (Ping timeout: 265 seconds) 2020-01-31T12:58:20Z v_m_v quit (Remote host closed the connection) 2020-01-31T13:02:27Z v_m_v joined #lisp 2020-01-31T13:04:59Z random-nick joined #lisp 2020-01-31T13:07:24Z frodef: Is there a function I can give to REDUCE that will just yield the input list back? 2020-01-31T13:08:21Z igemnace quit (Quit: WeeChat 2.7) 2020-01-31T13:09:35Z jackdaniel: (reduce #'list* '(1 2 3 4 5) :from-end t :initial-value '()) 2020-01-31T13:09:38Z jackdaniel: frodef: ^ 2020-01-31T13:09:56Z _death: or (lambda (s x) (append s (list x))) 2020-01-31T13:10:26Z jonatack joined #lisp 2020-01-31T13:13:21Z gko_ joined #lisp 2020-01-31T13:13:25Z frodef: thanks. not quite intuitive to me that from-end will change things like that. 2020-01-31T13:14:09Z jackdaniel: lists are consed from the last cons up 2020-01-31T13:14:24Z _death: (list* 1 (list* 2 (list* 3 (list* 4 (list* 5 nil))))) 2020-01-31T13:14:33Z jackdaniel: so instead of taking paris from the left (1 . 2), then ((1 . 2) . 3) etc 2020-01-31T13:14:48Z jackdaniel: you go (5 . nil), (4 . (5 . nil)) etc 2020-01-31T13:14:51Z frodef: right you are, thank you both. 2020-01-31T13:14:52Z jackdaniel: what gives you the list 2020-01-31T13:15:20Z gxt quit (Remote host closed the connection) 2020-01-31T13:15:38Z jackdaniel: huh, Paris is a weird city, full of conses (reading myself) 2020-01-31T13:15:44Z _death: (so cons would also work) 2020-01-31T13:16:03Z gxt joined #lisp 2020-01-31T13:16:10Z jonatack quit (Quit: jonatack) 2020-01-31T13:16:58Z frodef: for two args, cons and list* are the same, no? 2020-01-31T13:17:27Z jackdaniel: it is only different for unary argument from cons 2020-01-31T13:17:49Z jackdaniel: (conceptually that is) 2020-01-31T13:18:21Z ebzzry joined #lisp 2020-01-31T13:18:29Z jackdaniel: that doesn't sound good, they are of course different functions, but you know what I mean (I hope!) 2020-01-31T13:19:01Z _death: as an exercise you can implement my-list* 2020-01-31T13:19:55Z _death: after movitz it should be a breeze ;) 2020-01-31T13:22:26Z frodef: I'm going for 64-bit. 2020-01-31T13:23:02Z jackdaniel: it must be something with nicks starting with "fro" what makes people target "bare metal" ;-) 2020-01-31T13:23:54Z _death: ferro 2020-01-31T13:24:01Z frodef: hm... froggey? 2020-01-31T13:24:20Z jackdaniel: frodef: froggey is Mezzano author 2020-01-31T13:24:52Z jackdaniel: https://github.com/froggey/Mezzano/ ftr 2020-01-31T13:26:55Z EvW1 joined #lisp 2020-01-31T13:28:16Z pjb: frodef: there is none, because the function you give to reduce is only passed the elements of the input list, not the input list itself. 2020-01-31T13:29:11Z ljavorsk quit (Ping timeout: 268 seconds) 2020-01-31T13:29:17Z frodef: pjb: I meant the same as in EQUAL, not EQ. 2020-01-31T13:29:18Z pjb: frodef: you would have to use maplist: (let ((list '(1 2 3 4 5))) (eq list (mapl (lambda (list) list) list))) #| --> t |# 2020-01-31T13:29:18Z jackdaniel: it is the input list if we consider that from equal perspective :) 2020-01-31T13:29:20Z adriano1 quit (Ping timeout: 265 seconds) 2020-01-31T13:29:25Z lucasb joined #lisp 2020-01-31T13:29:31Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-31T13:30:33Z pjb: jackdaniel: well, Paris is full of cons, indeed… 2020-01-31T13:31:11Z FreeBirdLjj joined #lisp 2020-01-31T13:31:21Z pjb: frodef: _death: (list* 1 2 3 4 5 nil) #| --> (1 2 3 4 5) |# 2020-01-31T13:31:31Z shrdlu68 quit (Ping timeout: 272 seconds) 2020-01-31T13:32:54Z xkapastel joined #lisp 2020-01-31T13:33:04Z philadendrite quit (Remote host closed the connection) 2020-01-31T13:33:22Z Necktwi joined #lisp 2020-01-31T13:33:34Z philadendrite joined #lisp 2020-01-31T13:34:34Z philadendrite quit (Remote host closed the connection) 2020-01-31T13:34:55Z philadendrite joined #lisp 2020-01-31T13:35:28Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2020-01-31T13:37:43Z _death: I was giving the expansion of reduce.. (defun qlist* (&rest args) `(list* ,@args)) (reduce #'qlist* '(1 2 3 4 5) :from-end t :initial-value '()) => (LIST* 1 (LIST* 2 (LIST* 3 (LIST* 4 (LIST* 5 NIL))))) 2020-01-31T13:40:55Z pjb: oh, ok. 2020-01-31T13:44:30Z FreeBirdLjj joined #lisp 2020-01-31T13:50:15Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2020-01-31T13:51:28Z X-Scale` joined #lisp 2020-01-31T13:51:57Z Lord_of_Life quit (Excess Flood) 2020-01-31T13:52:09Z FreeBirdLjj joined #lisp 2020-01-31T13:52:56Z vap1 joined #lisp 2020-01-31T13:53:18Z X-Scale quit (Ping timeout: 260 seconds) 2020-01-31T13:53:19Z X-Scale` is now known as X-Scale 2020-01-31T13:54:57Z vaporatorius quit (Ping timeout: 265 seconds) 2020-01-31T13:57:21Z Lord_of_Life joined #lisp 2020-01-31T14:06:02Z Odin- joined #lisp 2020-01-31T14:06:08Z gabiruh quit (Quit: ZNC - 1.6.0 - http://znc.in) 2020-01-31T14:06:43Z gabiruh joined #lisp 2020-01-31T14:06:50Z Bike joined #lisp 2020-01-31T14:06:59Z thijso quit (Ping timeout: 268 seconds) 2020-01-31T14:15:26Z orivej quit (Ping timeout: 268 seconds) 2020-01-31T14:16:11Z adriano1 joined #lisp 2020-01-31T14:19:50Z pfdietz joined #lisp 2020-01-31T14:23:39Z thijso joined #lisp 2020-01-31T14:24:46Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-31T14:25:52Z FreeBirdLjj joined #lisp 2020-01-31T14:27:33Z oxum_ joined #lisp 2020-01-31T14:30:03Z oxum quit (Ping timeout: 260 seconds) 2020-01-31T14:32:04Z oxum_ quit (Ping timeout: 248 seconds) 2020-01-31T14:32:47Z lnostdal_ joined #lisp 2020-01-31T14:37:16Z rwcom4 joined #lisp 2020-01-31T14:38:33Z rwcom quit (Ping timeout: 246 seconds) 2020-01-31T14:38:33Z rwcom4 is now known as rwcom 2020-01-31T14:40:18Z oxum joined #lisp 2020-01-31T14:40:36Z pvaneynd quit (Ping timeout: 248 seconds) 2020-01-31T14:41:55Z jmercouris joined #lisp 2020-01-31T14:43:28Z fookara joined #lisp 2020-01-31T14:44:27Z oxum quit (Ping timeout: 240 seconds) 2020-01-31T14:47:55Z easye joined #lisp 2020-01-31T14:51:42Z pvaneynd joined #lisp 2020-01-31T14:52:13Z fookara quit (Remote host closed the connection) 2020-01-31T14:53:07Z LiamH joined #lisp 2020-01-31T14:54:45Z msk_ quit (Remote host closed the connection) 2020-01-31T14:55:08Z msk_ joined #lisp 2020-01-31T15:03:36Z frodef` joined #lisp 2020-01-31T15:05:03Z frodef quit (Ping timeout: 260 seconds) 2020-01-31T15:11:02Z oxum joined #lisp 2020-01-31T15:11:21Z FreeBird_ joined #lisp 2020-01-31T15:12:17Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-31T15:19:19Z sjl_ joined #lisp 2020-01-31T15:19:22Z sjl_ quit (Client Quit) 2020-01-31T15:25:12Z Posterdati quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-01-31T15:30:02Z sjl_ joined #lisp 2020-01-31T15:30:52Z v_m_v quit (Remote host closed the connection) 2020-01-31T15:32:00Z fookara joined #lisp 2020-01-31T15:33:08Z v_m_v joined #lisp 2020-01-31T15:33:25Z jprajzne quit (Quit: Leaving.) 2020-01-31T15:33:37Z shka_ joined #lisp 2020-01-31T15:34:26Z msk_ quit (Remote host closed the connection) 2020-01-31T15:34:40Z msk_ joined #lisp 2020-01-31T15:34:44Z efm quit (Quit: Konversation terminated!) 2020-01-31T15:35:27Z Posterdati joined #lisp 2020-01-31T15:35:45Z pvaneynd quit (Remote host closed the connection) 2020-01-31T15:36:27Z pvaneynd joined #lisp 2020-01-31T15:37:35Z efm joined #lisp 2020-01-31T15:42:40Z msk joined #lisp 2020-01-31T15:42:55Z msk_ quit (Remote host closed the connection) 2020-01-31T15:42:59Z v_m_v quit (Remote host closed the connection) 2020-01-31T15:43:32Z pvaneynd quit (Ping timeout: 248 seconds) 2020-01-31T15:44:31Z oxum quit (Ping timeout: 272 seconds) 2020-01-31T15:45:39Z fookara quit (Remote host closed the connection) 2020-01-31T15:46:10Z fookara joined #lisp 2020-01-31T15:51:06Z shrdlu68 joined #lisp 2020-01-31T15:52:00Z wsinatra joined #lisp 2020-01-31T15:54:23Z gxt quit (Ping timeout: 240 seconds) 2020-01-31T15:56:14Z jprajzne joined #lisp 2020-01-31T16:00:27Z jprajzne quit (Client Quit) 2020-01-31T16:00:28Z Guest19180 joined #lisp 2020-01-31T16:00:49Z jprajzne joined #lisp 2020-01-31T16:03:12Z fookara left #lisp 2020-01-31T16:03:36Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-01-31T16:05:27Z Guest19180 quit (Ping timeout: 265 seconds) 2020-01-31T16:06:22Z dvdmuckle joined #lisp 2020-01-31T16:14:13Z oxum joined #lisp 2020-01-31T16:16:02Z pfdietz: When you make a pull request and nothing happens. 2020-01-31T16:16:07Z pvaneynd joined #lisp 2020-01-31T16:16:53Z v_m_v joined #lisp 2020-01-31T16:16:56Z pvaneynd_ joined #lisp 2020-01-31T16:17:22Z FreeBird_ quit (Remote host closed the connection) 2020-01-31T16:19:44Z dddddd quit (Remote host closed the connection) 2020-01-31T16:20:20Z pvaneynd quit (Ping timeout: 248 seconds) 2020-01-31T16:21:17Z v_m_v quit (Remote host closed the connection) 2020-01-31T16:25:22Z FreeBirdLjj joined #lisp 2020-01-31T16:25:34Z smazga joined #lisp 2020-01-31T16:28:52Z Fare joined #lisp 2020-01-31T16:30:50Z msk quit (Remote host closed the connection) 2020-01-31T16:31:11Z msk joined #lisp 2020-01-31T16:32:02Z ck_: oh, are you watching the github show too? I was told there would be interaction 2020-01-31T16:32:10Z ym: pfdietz, change f to s in your nickname. 2020-01-31T16:32:19Z Cymew quit (Ping timeout: 265 seconds) 2020-01-31T16:35:18Z Guest19180 joined #lisp 2020-01-31T16:35:38Z fookara joined #lisp 2020-01-31T16:40:15Z Guest19180 quit (Ping timeout: 272 seconds) 2020-01-31T16:42:30Z v_m_v joined #lisp 2020-01-31T16:42:32Z rwcom8 joined #lisp 2020-01-31T16:44:13Z rwcom quit (Ping timeout: 260 seconds) 2020-01-31T16:44:14Z rwcom8 is now known as rwcom 2020-01-31T16:44:25Z refpga joined #lisp 2020-01-31T16:47:30Z shangul quit (Ping timeout: 265 seconds) 2020-01-31T16:47:59Z oxum quit (Ping timeout: 265 seconds) 2020-01-31T16:50:41Z gko_ quit (Ping timeout: 265 seconds) 2020-01-31T16:52:39Z drl joined #lisp 2020-01-31T16:54:24Z v_m_v quit (Remote host closed the connection) 2020-01-31T16:55:56Z jprajzne quit (Quit: jprajzne) 2020-01-31T16:56:19Z jprajzne joined #lisp 2020-01-31T17:05:27Z jprajzne quit (Quit: jprajzne) 2020-01-31T17:05:40Z rumbler31 joined #lisp 2020-01-31T17:05:49Z jprajzne joined #lisp 2020-01-31T17:10:13Z rumbler31 quit (Ping timeout: 265 seconds) 2020-01-31T17:12:38Z ebzzry quit (Read error: Connection reset by peer) 2020-01-31T17:13:06Z Nilby left #lisp 2020-01-31T17:14:22Z shifty quit (Ping timeout: 252 seconds) 2020-01-31T17:14:54Z shifty joined #lisp 2020-01-31T17:15:52Z Guest19180 joined #lisp 2020-01-31T17:20:23Z Guest19180 quit (Ping timeout: 260 seconds) 2020-01-31T17:20:30Z FreeBirdLjj quit (Remote host closed the connection) 2020-01-31T17:20:47Z shka_ quit (Read error: No route to host) 2020-01-31T17:20:55Z jprajzne quit (Quit: jprajzne) 2020-01-31T17:21:11Z shka_ joined #lisp 2020-01-31T17:21:43Z shka_ quit (Client Quit) 2020-01-31T17:22:01Z shka_ joined #lisp 2020-01-31T17:23:11Z varjag joined #lisp 2020-01-31T17:23:57Z EvW1 quit (Ping timeout: 272 seconds) 2020-01-31T17:25:26Z ebrasca joined #lisp 2020-01-31T17:25:56Z jprajzne joined #lisp 2020-01-31T17:28:21Z taichi joined #lisp 2020-01-31T17:29:02Z ebzzry joined #lisp 2020-01-31T17:30:48Z adriano1 quit (Ping timeout: 265 seconds) 2020-01-31T17:32:03Z hhdave quit (Quit: hhdave) 2020-01-31T17:33:41Z asarch joined #lisp 2020-01-31T17:35:01Z asarch: Any library for datum (i.e. to add 10 days from now)? 2020-01-31T17:35:21Z sjl: local-time? 2020-01-31T17:35:44Z asarch: Thank you! :-) 2020-01-31T17:40:19Z adriano1 joined #lisp 2020-01-31T17:40:56Z jprajzne quit (Quit: jprajzne) 2020-01-31T17:41:37Z asdf_asdf_asdf joined #lisp 2020-01-31T17:43:05Z smazga quit (Ping timeout: 265 seconds) 2020-01-31T17:43:30Z davepdotorg quit (Remote host closed the connection) 2020-01-31T17:46:42Z smazga joined #lisp 2020-01-31T17:49:38Z Guest19180 joined #lisp 2020-01-31T17:50:57Z jprajzne joined #lisp 2020-01-31T17:52:51Z oxum joined #lisp 2020-01-31T17:53:13Z gareppa joined #lisp 2020-01-31T17:53:55Z ebrasca quit (Remote host closed the connection) 2020-01-31T17:54:06Z ebrasca joined #lisp 2020-01-31T17:54:29Z varjag quit (Ping timeout: 265 seconds) 2020-01-31T17:54:41Z Guest19180 quit (Ping timeout: 265 seconds) 2020-01-31T18:00:56Z jprajzne quit (Quit: jprajzne) 2020-01-31T18:01:29Z jprajzne joined #lisp 2020-01-31T18:04:22Z asdf_asdf_asdf quit (Remote host closed the connection) 2020-01-31T18:04:39Z FreeBirdLjj joined #lisp 2020-01-31T18:09:08Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2020-01-31T18:10:27Z jprajzne quit (Quit: jprajzne) 2020-01-31T18:12:43Z clothespin joined #lisp 2020-01-31T18:14:23Z FreeBirdLjj joined #lisp 2020-01-31T18:16:07Z aeth quit (Ping timeout: 268 seconds) 2020-01-31T18:16:46Z cosimone joined #lisp 2020-01-31T18:17:47Z aeth joined #lisp 2020-01-31T18:22:30Z xkapastel quit (Quit: Connection closed for inactivity) 2020-01-31T18:23:18Z asdf_asdf_asdf joined #lisp 2020-01-31T18:23:20Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-31T18:25:22Z frodef`: Does anyone know what are the conditions for a compiler-macro to be used in sbcl? 2020-01-31T18:26:52Z oxum quit (Ping timeout: 265 seconds) 2020-01-31T18:28:10Z gareppa quit (Quit: Leaving) 2020-01-31T18:29:00Z Guest19180 joined #lisp 2020-01-31T18:34:03Z Bike: I think it pretty much always uses them, barring the standard stuff like notinline 2020-01-31T18:34:07Z Guest19180 quit (Ping timeout: 265 seconds) 2020-01-31T18:34:10Z Bike: i mean, as long as it is compiling 2020-01-31T18:34:17Z oxum joined #lisp 2020-01-31T18:34:42Z Bike: so if you just have (my-fun ...) in the repl a compiler macro on my-fun probably won't fire 2020-01-31T18:38:08Z Fare quit (Ping timeout: 268 seconds) 2020-01-31T18:49:32Z pfdietz: If the compiler macro has keyword args, but the call does not have a constant expression there, it will whine and not expand it. 2020-01-31T18:50:03Z pfdietz: Trying to expand anyway in that case makes CCL erroneously fail. 2020-01-31T18:51:19Z Bike: yeah that's annoying to deal with 2020-01-31T18:52:08Z asdf_asdf_asdf: pfdietz, I don't know. Maybe it (SB-C::COMPILER-MACRO-ARGS (list 'compiler-macro)) => NIL. 2020-01-31T18:53:12Z swills quit (Read error: Connection reset by peer) 2020-01-31T18:54:47Z william1_ joined #lisp 2020-01-31T18:54:52Z swills joined #lisp 2020-01-31T18:55:06Z asdf_asdf_asdf: (apropos "compiler-macro") ; list of compiler macro symbols/functions 2020-01-31T18:56:11Z FreeBirdLjj joined #lisp 2020-01-31T18:56:43Z asarch quit (Quit: Leaving) 2020-01-31T18:57:08Z rwcom5 joined #lisp 2020-01-31T18:58:40Z rwcom quit (Ping timeout: 268 seconds) 2020-01-31T18:58:41Z rwcom5 is now known as rwcom 2020-01-31T18:59:46Z slyrus_ joined #lisp 2020-01-31T19:00:20Z femi quit (Ping timeout: 268 seconds) 2020-01-31T19:00:40Z Guest19180 joined #lisp 2020-01-31T19:01:34Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-31T19:02:41Z FreeBirdLjj joined #lisp 2020-01-31T19:03:48Z slyrus quit (Ping timeout: 265 seconds) 2020-01-31T19:04:19Z jonatack joined #lisp 2020-01-31T19:06:51Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-01-31T19:07:23Z pvaneynd_ quit (Ping timeout: 245 seconds) 2020-01-31T19:08:09Z oxum quit (Ping timeout: 265 seconds) 2020-01-31T19:09:27Z pvaneynd joined #lisp 2020-01-31T19:09:28Z Guest19180 quit (Ping timeout: 260 seconds) 2020-01-31T19:09:46Z FreeBirdLjj joined #lisp 2020-01-31T19:13:33Z frodef` quit (Ping timeout: 260 seconds) 2020-01-31T19:14:31Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-31T19:16:33Z ebzzry quit (Ping timeout: 268 seconds) 2020-01-31T19:17:29Z brown121408 joined #lisp 2020-01-31T19:18:38Z rippa joined #lisp 2020-01-31T19:20:41Z Solenoid_Snake quit (Ping timeout: 268 seconds) 2020-01-31T19:21:32Z FreeBirdLjj joined #lisp 2020-01-31T19:22:43Z william1_ quit (Ping timeout: 268 seconds) 2020-01-31T19:23:47Z jmercouris: is there an elisp to cl compiler? 2020-01-31T19:25:47Z mercourisj joined #lisp 2020-01-31T19:26:11Z FreeBirdLjj quit (Ping timeout: 272 seconds) 2020-01-31T19:26:23Z shifty quit (Ping timeout: 260 seconds) 2020-01-31T19:26:42Z shifty joined #lisp 2020-01-31T19:28:08Z adriano1 quit (Ping timeout: 260 seconds) 2020-01-31T19:28:17Z Bike: i kinda doubt it? i mean probably most elisp is tied to the emacs environment, no? 2020-01-31T19:28:26Z mercourisj: I assume so, no idea 2020-01-31T19:28:37Z mercourisj: not sure how much of that environment could be emulated in some sort of runtime 2020-01-31T19:28:43Z mercourisj: i mean all of it could 2020-01-31T19:28:46Z mercourisj: but, how feasibly 2020-01-31T19:29:09Z jmercouris quit (Disconnected by services) 2020-01-31T19:29:14Z mercourisj is now known as jmercouris 2020-01-31T19:29:44Z jmercouris: I know that elisp people have some sort of "cl" library 2020-01-31T19:31:47Z brown121408 quit (Ping timeout: 268 seconds) 2020-01-31T19:32:32Z Bike: yeah that provides some common lisp operators and stuff 2020-01-31T19:32:59Z FreeBirdLjj joined #lisp 2020-01-31T19:33:03Z brown121407 joined #lisp 2020-01-31T19:34:19Z v_m_v joined #lisp 2020-01-31T19:37:19Z oxum joined #lisp 2020-01-31T19:37:28Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-31T19:37:48Z pvaneynd quit (Ping timeout: 245 seconds) 2020-01-31T19:41:17Z jprajzne joined #lisp 2020-01-31T19:41:56Z FreeBirdLjj joined #lisp 2020-01-31T19:43:58Z davepdotorg joined #lisp 2020-01-31T19:44:13Z milanj quit (Quit: This computer has gone to sleep) 2020-01-31T19:44:35Z dale_ joined #lisp 2020-01-31T19:44:47Z dale_ is now known as dale 2020-01-31T19:45:13Z dyelar quit (Remote host closed the connection) 2020-01-31T19:45:15Z pvaneynd joined #lisp 2020-01-31T19:45:27Z jprajzne quit (Client Quit) 2020-01-31T19:45:27Z brown121407 quit (Read error: Connection reset by peer) 2020-01-31T19:45:48Z dyelar joined #lisp 2020-01-31T19:45:57Z jprajzne joined #lisp 2020-01-31T19:46:13Z shifty quit (Ping timeout: 260 seconds) 2020-01-31T19:46:19Z brown121408 joined #lisp 2020-01-31T19:46:49Z akoana joined #lisp 2020-01-31T19:49:14Z davepdotorg quit (Ping timeout: 268 seconds) 2020-01-31T19:49:23Z Fare joined #lisp 2020-01-31T19:50:09Z ggole quit (Quit: Leaving) 2020-01-31T19:52:03Z msk quit (Ping timeout: 260 seconds) 2020-01-31T19:53:06Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-31T19:58:06Z slyrus joined #lisp 2020-01-31T19:59:14Z slyrus_ quit (Ping timeout: 240 seconds) 2020-01-31T20:06:51Z efm quit (Read error: Connection reset by peer) 2020-01-31T20:07:04Z cosimone quit (Quit: Terminated!) 2020-01-31T20:09:39Z oxum quit (Ping timeout: 240 seconds) 2020-01-31T20:10:45Z jmercouris quit (Remote host closed the connection) 2020-01-31T20:11:47Z nirved quit (Ping timeout: 272 seconds) 2020-01-31T20:12:34Z efm joined #lisp 2020-01-31T20:13:20Z nirved joined #lisp 2020-01-31T20:13:38Z slyrus_ joined #lisp 2020-01-31T20:13:45Z izh_ joined #lisp 2020-01-31T20:13:56Z pvaneynd quit (Ping timeout: 248 seconds) 2020-01-31T20:14:55Z EvW joined #lisp 2020-01-31T20:15:21Z cartwright quit (Remote host closed the connection) 2020-01-31T20:16:06Z slyrus quit (Ping timeout: 265 seconds) 2020-01-31T20:17:34Z cartwright joined #lisp 2020-01-31T20:18:49Z lucasb quit (Quit: Connection closed for inactivity) 2020-01-31T20:21:49Z slyrus__ joined #lisp 2020-01-31T20:22:23Z asdf_asdf_asdf quit (Quit: asdf_asdf_asdf) 2020-01-31T20:24:43Z slyrus_ quit (Ping timeout: 260 seconds) 2020-01-31T20:28:01Z FreeBirdLjj joined #lisp 2020-01-31T20:29:23Z slyrus__ quit (Ping timeout: 260 seconds) 2020-01-31T20:30:52Z jprajzne quit (Quit: jprajzne) 2020-01-31T20:31:18Z jprajzne joined #lisp 2020-01-31T20:32:21Z Dovahkiin joined #lisp 2020-01-31T20:32:44Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-31T20:32:50Z Dovahkiin: hey, uh 2020-01-31T20:33:11Z Dovahkiin: Sometimes ppl in discord are busy, so I came here seeking for help) 2020-01-31T20:33:50Z Dovahkiin: anyone here?) 2020-01-31T20:34:03Z Bike: yeah you can go ahead and ask 2020-01-31T20:34:04Z philadendrite quit (Remote host closed the connection) 2020-01-31T20:34:14Z Dovahkiin: cool just didn't want to talk to the void) 2020-01-31T20:34:15Z Dovahkiin: soo 2020-01-31T20:34:27Z philadendrite joined #lisp 2020-01-31T20:34:33Z Dovahkiin: I have a macro that takes some arguments and does stuff with them 2020-01-31T20:34:53Z Dovahkiin: and inside a macro (but outside of `) I have an assertion 2020-01-31T20:35:07Z Dovahkiin: that is supposed to throw some particular error if 2020-01-31T20:35:16Z Dovahkiin: well, if some list is of the wrong length 2020-01-31T20:35:27Z jprajzne quit (Client Quit) 2020-01-31T20:35:35Z Xach: Ok! 2020-01-31T20:35:38Z Dovahkiin: now, if I just put that macro in my repl and give it wrong data 2020-01-31T20:35:43Z Dovahkiin: it throws the proper error 2020-01-31T20:35:47Z Dovahkiin: and everything os cool 2020-01-31T20:35:50Z Dovahkiin: however 2020-01-31T20:36:00Z Dovahkiin: if I put it inside of a handler case 2020-01-31T20:36:08Z Dovahkiin: that is supposed to catch that error and 2020-01-31T20:36:20Z Dovahkiin: do something about it 2020-01-31T20:36:24Z Dovahkiin: it doesn't do that 2020-01-31T20:36:30Z Dovahkiin: and it says that instead it catches 2020-01-31T20:36:35Z Xach: Runtime vs. macroexpansion time. 2020-01-31T20:36:44Z Bike: you can write more than ten words on each line, it's cool. So the macro itself signals the error, not the code it expands into? 2020-01-31T20:36:48Z Dovahkiin: `SB-INT:COMPILED-PROGRAM-ERROR` 2020-01-31T20:36:55Z Dovahkiin: well 2020-01-31T20:36:59Z Dovahkiin: yes, this 2020-01-31T20:37:13Z Dovahkiin: I mean, the code it expands to 2020-01-31T20:37:22Z oxum joined #lisp 2020-01-31T20:37:26Z Bike: Maybe you could post the macro? On a pastebin or something. 2020-01-31T20:37:29Z Dovahkiin: is not even supposed to signal the error, that error should be caught like, on macroexpansion 2020-01-31T20:37:36Z Dovahkiin: well lemme try) 2020-01-31T20:37:56Z Dovahkiin: this thing doesn't have inline code? 2020-01-31T20:37:56Z Bike: But it sounds like Xach is right: the problem is that the handler-case covers the runtime but is not in effect while the macro is being expanded. 2020-01-31T20:38:08Z Dovahkiin: yeah, that was actually my conclusion too 2020-01-31T20:38:12Z Bike: It's annoying to get a bunch of lines at once is all. 2020-01-31T20:38:13Z Dovahkiin: buut umm 2020-01-31T20:38:26Z Dovahkiin: Can I somehow deal with that? 2020-01-31T20:38:38Z Bike: So for example if you had (defmacro foo () (error "test")) and then in your repl did (handler-case (foo) (error (e) e)) you'd have a similar situation. 2020-01-31T20:38:43Z Dovahkiin: Like, is it actually possible to catch an error from macroexpansion time? 2020-01-31T20:38:51Z Xach: Dovahkiin: how do you want to handle the error? 2020-01-31T20:38:54Z aeth: Dovahkiin: in the macro 2020-01-31T20:39:13Z Bike: Well, it's possible to handle the error at the time when the code is being compiled 2020-01-31T20:39:21Z Bike: but not at runtime, since at that point the macroexpansion is already finished 2020-01-31T20:39:22Z Dovahkiin: nothing very smart - I just want to type its description and then automatically abort 2020-01-31T20:39:46Z Dovahkiin: yeah, I am cool with putting that handler-case somewhere else -- the question is where 2020-01-31T20:40:00Z Bike: Well I'm talking about like (handler-case (compile ...) ...) which is a bit unnatural. 2020-01-31T20:40:10Z Dovahkiin: oof 2020-01-31T20:40:11Z Bike: And also might not work since the compiler can intercept errors. 2020-01-31T20:40:39Z Bike: You could have your macro detect the problem itself and expand into code which will signal an error at runtime, and perhaps additionally signal a warning at macroexpansion time. 2020-01-31T20:40:55Z aeth: that's how I'd do it 2020-01-31T20:40:56Z Dovahkiin: oh this 2020-01-31T20:41:04Z Dovahkiin: this I was trying to do too 2020-01-31T20:41:10Z Dovahkiin: the problem is that 2020-01-31T20:41:13Z Dovahkiin: okay you know what 2020-01-31T20:41:23Z Dovahkiin: I m gonna actually do something to show the code now 2020-01-31T20:41:28Z Dovahkiin: its becoming too abstract 2020-01-31T20:44:08Z aeth: If I'm writing a difficult macro, I don't do anything in the macro itself. I use helper functions for literally everything, and just eval-when those functions or put them in a separate file so they're available to the macro. In that case, a HANDLER-CASE would be the only thing in the DEFMACRO body itself that's not a trivial function call. 2020-01-31T20:44:51Z milanj joined #lisp 2020-01-31T20:46:16Z jprajzne joined #lisp 2020-01-31T20:47:29Z Dovahkiin: hm 2020-01-31T20:47:31Z Dovahkiin: wait a sec 2020-01-31T20:47:45Z Dovahkiin: is this a suggestion 2020-01-31T20:47:52Z Dovahkiin: to put handler case in the macro too?0 2020-01-31T20:48:22Z Bike: More like to put it in the macro only. 2020-01-31T20:48:46Z Dovahkiin: umm 2020-01-31T20:48:50Z Bike: I mean, if the macro itself runs into the problem, that's not a runtime error, it's a syntax error. The code is wrong. 2020-01-31T20:48:51Z Dovahkiin: actually it kinda worked 2020-01-31T20:48:53Z Dovahkiin: what I said 2020-01-31T20:48:58Z Dovahkiin: but maybe its the same what you said 2020-01-31T20:49:14Z Dovahkiin: it looks a bit stupid now since its like 2020-01-31T20:49:28Z Dovahkiin: handler case around assert 2020-01-31T20:49:30Z Dovahkiin: buuut 2020-01-31T20:49:37Z Dovahkiin: it does work so I am cool with it 2020-01-31T20:49:39Z Dovahkiin: thanks a lot 2020-01-31T20:49:41Z aeth: Dovahkiin: Although you could have your macro expand to generate an error at runtime if it encounters an error at macro expansion time instead of failing. SBCL does something similar with type errors. Your function will run, it'll just have a runtime type error 2020-01-31T20:50:05Z aeth: As in, SBCL compiles your function to literally always have an error. 2020-01-31T20:50:17Z Dovahkiin: right, this I know 2020-01-31T20:50:27Z jprajzne quit (Client Quit) 2020-01-31T20:50:36Z Dovahkiin: but I really didn't want to generate that assertion because well 2020-01-31T20:50:48Z Dovahkiin: it seemed like it decided it will eval some other code first 2020-01-31T20:50:57Z Dovahkiin: and its illigal to eval it if that assertion fails 2020-01-31T20:53:04Z Bike: It's kind of hard to follow what you're saying without seeing the code. handler-case around assert sounds kind of pointless, though. Why not just write (unless assert-condition-here ...)? 2020-01-31T20:53:48Z aeth: Bike: the assert could be deep in the macro body (or a helper function) while the handler-case could be at the very top, that's the only reason why 2020-01-31T20:53:58Z Bike: fair 2020-01-31T20:55:04Z aeth: Dovahkiin: In case I'm unclear, if you want a runtime error, you would just catch the ASSERT and setup your macro body such that it returns something like `(error "Yeah, this failed.") in the case of the ASSERT being caught, instead of the normal expansion 2020-01-31T20:55:24Z aeth: Or, alternatively, do the check at the very beginning and put a branch there. 2020-01-31T20:55:29Z aeth: (Instead of asserting at all) 2020-01-31T20:55:35Z fookara quit (Remote host closed the connection) 2020-01-31T20:55:58Z aeth: Dovahkiin: well, you'd probably also want a macro-time WARN so it's not a complete surprise 2020-01-31T20:56:18Z aeth: so e.g. (progn (warn "Yeah, this failed.") `(error "Yeah, this failed.")) 2020-01-31T20:57:03Z Dovahkiin: okay, I will put this a the refactor note. The macro is very long, so for example putting the branch in thebeginning is not the option 2020-01-31T20:57:04Z manualcrank quit (Ping timeout: 268 seconds) 2020-01-31T20:57:11Z Dovahkiin: I make my assertion inside a loop 2020-01-31T20:57:19Z Dovahkiin: and there will be more different ones 2020-01-31T20:57:36Z aeth: If a macro is more than 30-40 lines, it's probably best to split it into macro-expansion-time functions. 2020-01-31T20:57:41Z Dovahkiin: returning an error seems... 2020-01-31T20:57:42Z Dovahkiin: hmm 2020-01-31T20:57:43Z Dovahkiin: okay 2020-01-31T20:58:45Z Bike: detecting and reacting to a compile time syntax error at runtime is just kind of weird is all. 2020-01-31T20:59:26Z aeth: To call a function from a macro, it should be either wrapped in EVAL-WHEN (everyone just uses the full "(:compile-toplevel :load-toplevel :execute)" for that) or it should be in a file that's previously loaded. Most people prefer the latter because then the functions stay at the top level, with the disadvantage of not being in the same file anymore. 2020-01-31T20:59:43Z aeth: And imo pretty much any large macro is more readable with helper functions because now it's just a bunch of list processing functions 2020-01-31T21:00:14Z aeth: Bike: I've never done it, it is possible, though. 2020-01-31T21:00:50Z Bike: but why would you want to 2020-01-31T21:01:00Z Dovahkiin: well this whole project is a bit weird in a sense because it is supposed to be used with repl 2020-01-31T21:01:11Z Dovahkiin: its not supposed to be an executable at anypoint 2020-01-31T21:02:03Z gravicappa quit (Ping timeout: 260 seconds) 2020-01-31T21:02:54Z Bike: that's reasonably common 2020-01-31T21:03:23Z izh_ quit (Quit: Leaving) 2020-01-31T21:05:09Z jfb4 quit (Read error: Connection reset by peer) 2020-01-31T21:05:37Z Guest19180 joined #lisp 2020-01-31T21:06:11Z frodef joined #lisp 2020-01-31T21:06:22Z aeth: Bike: This is probably a bit of a stretch, but consider the case of generating GLSL shaders from a macro where you're expected to be recompiling it repeatedly as you modify your program. A macro-generated error would mean, "This didn't work, but continue as usual with the current, cached shader." So catching that at runtime would mean that it only impacts a fresh start. 2020-01-31T21:06:27Z aeth: Or something... 2020-01-31T21:07:05Z aeth: You'd only really need to see a WARN since there's nothing you can do if you make a bad modification. The debugger would just get in the way. 2020-01-31T21:08:27Z manualcrank joined #lisp 2020-01-31T21:10:38Z Guest19180 quit (Ping timeout: 268 seconds) 2020-01-31T21:11:06Z frodef: oh my.. I did indeed have notinline declamation. sigh. sorry. 2020-01-31T21:11:19Z oxum quit (Ping timeout: 272 seconds) 2020-01-31T21:12:01Z rwcom4 joined #lisp 2020-01-31T21:13:02Z FreeBirdLjj joined #lisp 2020-01-31T21:13:16Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-01-31T21:13:43Z swills quit (Read error: Connection reset by peer) 2020-01-31T21:14:03Z narimiran quit (Ping timeout: 245 seconds) 2020-01-31T21:14:06Z rwcom quit (Ping timeout: 265 seconds) 2020-01-31T21:14:07Z rwcom4 is now known as rwcom 2020-01-31T21:14:09Z visage_ joined #lisp 2020-01-31T21:14:35Z asdf_asdf_asdf joined #lisp 2020-01-31T21:15:37Z visage_ quit (Client Quit) 2020-01-31T21:16:22Z theruran quit (Quit: Connection closed for inactivity) 2020-01-31T21:16:37Z v1sage joined #lisp 2020-01-31T21:17:38Z refpga quit (Remote host closed the connection) 2020-01-31T21:18:31Z swills joined #lisp 2020-01-31T21:18:43Z z147 joined #lisp 2020-01-31T21:18:47Z dddddd joined #lisp 2020-01-31T21:21:30Z u0_a121 joined #lisp 2020-01-31T21:22:19Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-31T21:26:34Z jprajzne joined #lisp 2020-01-31T21:30:27Z jprajzne quit (Client Quit) 2020-01-31T21:30:52Z jprajzne joined #lisp 2020-01-31T21:32:20Z shka_ quit (Ping timeout: 248 seconds) 2020-01-31T21:37:09Z Bike quit (Quit: Bike) 2020-01-31T21:37:14Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-01-31T21:37:41Z wsinatra quit (Quit: WeeChat 2.7) 2020-01-31T21:39:39Z v1sage quit (Quit: v1sage) 2020-01-31T21:41:50Z varjag joined #lisp 2020-01-31T21:43:15Z pjb: minion: memo for jmercouris: there's some emacs lisp compatibility code in Hemlock. 2020-01-31T21:43:16Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-01-31T21:43:43Z pjb: minion: memo for jmercouris: my plan is to write a C compiler targetting CL, to specifically compile GNU emacs in a lisp image ;-) 2020-01-31T21:43:44Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-01-31T21:44:25Z pjb: minion: memo for jmercouris: there's a CL implementation in emacs lisp: emacs-cl; but it has bitrotten, since it worked before the introduction of closures in emacs lisp. 2020-01-31T21:44:25Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-01-31T21:45:13Z davepdotorg joined #lisp 2020-01-31T21:45:37Z FreeBirdLjj joined #lisp 2020-01-31T21:45:38Z oxum joined #lisp 2020-01-31T21:47:49Z pjb: Dovahkiin: during macro expansion, it's probably better to generate program-error than just error conditions… 2020-01-31T21:48:08Z malfort quit (Ping timeout: 265 seconds) 2020-01-31T21:49:15Z malfort joined #lisp 2020-01-31T21:50:21Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2020-01-31T21:50:22Z pjb: Dovahkiin: for example: (defmacro moo (l) (unless (and (listp l) (evenp (length l))) (error 'alexandria:simple-program-error :message "Macro ~S argument must be a list with even number of elements, not ~S" 'moo l)) `(list ,@(mapcar (lambda (x) `',x) l))) 2020-01-31T21:50:35Z davepdotorg quit (Ping timeout: 272 seconds) 2020-01-31T21:50:56Z jprajzne quit (Quit: jprajzne) 2020-01-31T21:51:33Z jprajzne joined #lisp 2020-01-31T21:53:25Z pjb: Dovahkiin: sorry, it's: (defmacro moo (l) (unless (and (listp l) (evenp (length l))) (alexandria:simple-program-error "Macro ~S argument must be a list with even number of elements, not ~S" 'moo l)) `(list ,@(mapcar (lambda (x) `',x) l))) 2020-01-31T21:53:58Z u0_a121 quit (Remote host closed the connection) 2020-01-31T21:56:41Z FreeBirdLjj joined #lisp 2020-01-31T21:56:50Z malfort quit (Ping timeout: 265 seconds) 2020-01-31T21:57:58Z Ven`` joined #lisp 2020-01-31T21:58:52Z rumbler31 joined #lisp 2020-01-31T21:59:41Z pfdietz quit (Remote host closed the connection) 2020-01-31T22:00:27Z jprajzne quit (Quit: jprajzne) 2020-01-31T22:00:58Z xuxuru joined #lisp 2020-01-31T22:01:38Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2020-01-31T22:02:08Z Ven`` is now known as Ven_de_Thiel 2020-01-31T22:03:18Z rumbler31 quit (Ping timeout: 260 seconds) 2020-01-31T22:03:51Z FreeBirdLjj joined #lisp 2020-01-31T22:06:35Z asarch joined #lisp 2020-01-31T22:08:33Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-01-31T22:08:50Z asarch: What would be the purpose of the symbol data type? 2020-01-31T22:12:26Z varjag quit (Ping timeout: 240 seconds) 2020-01-31T22:19:31Z oxum quit (Ping timeout: 268 seconds) 2020-01-31T22:23:13Z EvW quit (Ping timeout: 245 seconds) 2020-01-31T22:26:09Z Bike joined #lisp 2020-01-31T22:33:41Z frodef: asarch: a convenient way to designate identity. 2020-01-31T22:33:43Z aeth: asarch: As I said yesterday, (eq 'foo 'foo) => T but (eq "foo" "foo") is not necessarily T, and probably NIL 2020-01-31T22:35:03Z aeth: asarch: You don't want to have to do a string= or string-equal (the latter is case-insensitive) or equalp (which just uses string-equal iirc) because that will at the best case return NIL right away (e.g. "a" vs. "b") and at the worst case be O(n) instead of O(1) for EQ/EQL on symbols 2020-01-31T22:35:35Z aeth: Many languages use some fancy immutable strings to get around this, but in CL, strings are mutable (although literal strings like "foo" are unwise to modify and thus are de facto immutable... just without the strong guarantees of actually being immutable). 2020-01-31T22:36:23Z aeth: So you wind up with a situation where in CL you're using symbols (and probably keywords, like :foo) where in other languages you'd use immutable strings. Sort of as an enum-equivalent. 2020-01-31T22:37:22Z Odin-: The actual explanation involves a lot of history. 2020-01-31T22:37:35Z Fare quit (Ping timeout: 268 seconds) 2020-01-31T22:38:38Z aeth: It baiscally comes down to, in some languages you use enums (either literally an enum type, or by defining globals that are associated with numeric constants), in some languages you use immutable strings (so "foo" == is_this_foo is cheap and will always work for "foo"s), and in some languages you use something like CL's symbols/keywords, and CL falls in the third camp most of the time (sometimes you do need more enum-like constructs) 2020-01-31T22:40:06Z aeth: s/baiscally/basically/ 2020-01-31T22:41:51Z aeth: If you have never seen one of the three (often with some case-like construct or a bunch of if/then/elses), you need to program more and read more programs because it's common to need an internal name for things 2020-01-31T22:43:18Z aeth: e.g. (let ((foobar :foo)) (case foobar (:foo "Hello") (:bar "Hi") (t "Greetings"))) ; a keyword like :foo is just a symbol in the keyword package, with the syntactic sugar of being able to say :foo instead of 'keyword:foo 2020-01-31T22:43:40Z Fare joined #lisp 2020-01-31T22:44:18Z aeth: in another language, it might be FOO and BAR, or "foo" and "bar", but in CL, you usually use keywords (effectively symbols that are "aren't" namespaced, even though they're technically namespaced in the keyword package) 2020-01-31T22:45:58Z aeth: If you're used to languages with enums, you can think of keywords like enums whose number you can't access, except that the number is the memory location of the keyword argument, rather than the compiler implicitly doing 0, 1, 2, 3, ... 2020-01-31T22:46:23Z aeth: If you're used to languages with immutable strings, you can think of the keyword :foo as immutabilifying the string "FOO" 2020-01-31T22:53:04Z theruran joined #lisp 2020-01-31T22:54:12Z sauvin_ joined #lisp 2020-01-31T22:55:20Z jmercouris joined #lisp 2020-01-31T22:55:41Z efm quit (Read error: Connection reset by peer) 2020-01-31T22:56:00Z oxum joined #lisp 2020-01-31T22:56:09Z pnp joined #lisp 2020-01-31T22:56:55Z EvW joined #lisp 2020-01-31T22:57:15Z sauvin quit (Ping timeout: 265 seconds) 2020-01-31T22:57:23Z sauvin_ is now known as Sauvin 2020-01-31T22:59:53Z efm joined #lisp 2020-01-31T23:01:36Z sjl_ quit (Ping timeout: 265 seconds) 2020-01-31T23:02:28Z woozong joined #lisp 2020-01-31T23:06:24Z Guest19180 joined #lisp 2020-01-31T23:11:16Z Guest19180 quit (Ping timeout: 265 seconds) 2020-01-31T23:14:52Z LiamH quit (Quit: Leaving.) 2020-01-31T23:19:00Z pjb: asarch: symbols are used as identifiers in lisp programs. Since lisp gives the programmers a mean to process the lisp program, it must give a way to represent identifiers, so user programs may manipulate lisp programs (eg. with macros). 2020-01-31T23:20:15Z pjb: asarch: historically, lisp was invented to do AI, and it was thought that AI implied some introspection. Therefore it was important for lisp programs to be able to manipulate lisp programs, including the names in the lisp programs. 2020-01-31T23:20:49Z jprajzne joined #lisp 2020-01-31T23:22:44Z EvW quit (Ping timeout: 248 seconds) 2020-01-31T23:22:48Z pjb: asarch: The interning is not particularly essential (you can create uninterned symbols with make-symbol, or reading them with #:). It's obviously useful to intern the symbols into the symbol-table of your program (what we call package in Common Lisp). But if you have a use for symbols beyond that, you will in general ignore or avoid interning. 2020-01-31T23:23:23Z pjb: asarch: on the other hand, you may need in a program to intern other objects, such as strings. 2020-01-31T23:23:48Z Fare quit (Ping timeout: 260 seconds) 2020-01-31T23:24:41Z EvW joined #lisp 2020-01-31T23:25:55Z jprajzne quit (Quit: jprajzne) 2020-01-31T23:27:02Z rwcom8 joined #lisp 2020-01-31T23:28:53Z pnp: how is typically defined the constant t in CL? 2020-01-31T23:29:03Z oxum quit (Ping timeout: 260 seconds) 2020-01-31T23:29:12Z rwcom quit (Ping timeout: 268 seconds) 2020-01-31T23:29:13Z rwcom8 is now known as rwcom 2020-01-31T23:30:55Z jprajzne joined #lisp 2020-01-31T23:31:29Z Bike: t's value is always itself 2020-01-31T23:31:31Z terpri: pnp, (defconstant t 't) 2020-01-31T23:31:35Z Bike: what are you asking about exactly 2020-01-31T23:32:17Z pnp: because i get back no known definition for: t 2020-01-31T23:32:53Z aeth: pnp: it's CL:T 2020-01-31T23:33:27Z asdf_asdf_asdf: T names the system-class #: 2020-01-31T23:33:28Z pjb: pnp: probably you are in a package that you have defined without using the CL package. 2020-01-31T23:33:29Z aeth: you can always (defpackage #:foo) ; notice how it doesn't (:use #:cl) like is normal 2020-01-31T23:33:38Z pjb: NO! 2020-01-31T23:33:41Z aeth: and then FOO:T won't be found, and T won't be found if you (in-package :foo) 2020-01-31T23:33:47Z pjb: (defpackage #:foo) is IMPLEMENTATION DEPENDENT. 2020-01-31T23:33:48Z asdf_asdf_asdf: Always You should type (describe 't). 2020-01-31T23:33:56Z pjb: You don't know what package are used when you do (defpackage #:foo)!!! 2020-01-31T23:34:00Z pjb: Therefore NEVER DO (defpackage #:foo)!!! 2020-01-31T23:34:13Z pjb: You should always have a (:use …) option!!! 2020-01-31T23:34:14Z aeth: pjb: oh? it can implicitly :use #:cl? 2020-01-31T23:34:20Z aeth: okay then 2020-01-31T23:34:23Z pjb: It may or may not! 2020-01-31T23:34:25Z aeth: (defpackage #:foo (:use)) 2020-01-31T23:34:29Z pjb: This is what IMPLEMENTATION DEPENDENT means. 2020-01-31T23:34:34Z aeth: It's so unusual to use nothing, anyway. 2020-01-31T23:34:42Z pjb: Not really. 2020-01-31T23:34:57Z pjb: User packages often don't use anything. You use them only to intern your user symbols. 2020-01-31T23:35:28Z asarch: Thank you guys 2020-01-31T23:35:32Z asarch: Thank you very much 2020-01-31T23:37:37Z v_m_v quit (Ping timeout: 272 seconds) 2020-01-31T23:37:46Z martink joined #lisp 2020-01-31T23:37:48Z aeth: Anyway, T itself depends on the implementation. Obviously "SB-PCL" in asdf's answer is SBCL-specific. 2020-01-31T23:37:52Z martink quit (Remote host closed the connection) 2020-01-31T23:38:13Z pjb: pnp: note you can define your own T symbol, not eq to CL:T, and it will mostly work, because any lisp object that is not CL:NIL will be true. There are a few places where CL:T itself is expected, but it's rare enough. 2020-01-31T23:38:38Z aeth: Generally, CL:T is expected when the type boolean is expected, but when types aren't involved, any generalized boolean will do 2020-01-31T23:38:45Z pjb: pnp: on the other hand, you cannot define your own NIL symbol, since nil is used everywhere to mark the end of list. 2020-01-31T23:38:58Z pjb: pnp: if you defined your own nil, you would have to re-implement about all the CL functions… 2020-01-31T23:40:29Z pjb: pnp: also, you may use: (com.informatimago.tools.symbol:check-duplicate-symbols) to check different symbols with same name in different packages… 2020-01-31T23:40:42Z xuxuru quit (Quit: xuxuru) 2020-01-31T23:42:32Z pjb: For example, currently in my image, I have a symbol named "T" in COMMON-LISP and another one in KEYWORD… cl:t and :t 2020-01-31T23:44:13Z woozong quit (Ping timeout: 260 seconds) 2020-01-31T23:46:09Z davepdotorg joined #lisp 2020-01-31T23:50:51Z davepdotorg quit (Ping timeout: 240 seconds) 2020-01-31T23:55:55Z jprajzne quit (Quit: jprajzne) 2020-01-31T23:56:00Z Guest19180 joined #lisp 2020-01-31T23:56:33Z jprajzne joined #lisp 2020-01-31T23:57:00Z v_m_v joined #lisp 2020-01-31T23:59:01Z oxum joined #lisp