-[oops, forgot to start] object protocol has a scheme implementation. +NOTE Q: I think that Kiczalez et al.'s metaobject protocol has a scheme implementation, does this mean schemacs will be metaobject-changeable in practice? + +00:00:00.000 --> 00:00:01.091 +[oops, forgot to start] [Corwin]: ... object protocol + +00:00:01.092 --> 00:00:03.839 +has a scheme implementation.
Does this mean schemacs will be @@ -10,7 +15,7 @@ Does this mean schemacs will be meta object changeable in practice?
-So I don't actually need the meta object protocol so far. +[Ramin]: So I don't actually need the meta object protocol so far.
In the reference implementation for Guile, @@ -81,11 +86,16 @@ And that's all the more I've needed so far.
So, yeah. Oh, yeah, please, next question. Sure. +NOTE Q: How will the GUI display code be r7rs compliant afaik there is no dlopen in r7rs? +
-So how will the GUI display code be R7RS compliant? +[Corwin]: So how will the GUI display code be R7RS compliant?
-As far as I know, there's no DL open in R7RS. That's right. +00:01:39.600 --> 00:01:44.486 +As far as I know, there's no DL open in R7RS. + +00:01:44.487 --> 00:01:45.079 +[Ramin]: That's right.
Yeah, R7RS small is extremely small @@ -142,7 +152,7 @@ support the Schemacs GUI protocol? So I've kind of written my own protocol,
-and it's entirely R7 RSML compliant. +and it's entirely R7RS small compliant.
It's all done with record, @@ -150,8 +160,10 @@ It's all done with record,
what are they called, record types. +NOTE Q: Do you think some of schemacs could be extracted into SRFIs since you have made it portable between scheme implementations? +
-Do you think some of the Schemacs +[Corwin]: Do you think some of the Schemacs
could be extracted into SFRIs since you've made it portable @@ -160,7 +172,7 @@ could be extracted into SFRIs since you've made it portable between scheme implementations?
-Yes, I would definitely like to do that. +[Ramin]: Yes, I would definitely like to do that.
Probably first thing I'll do is start splitting up @@ -169,7 +181,7 @@ Probably first thing I'll do is start splitting up and publishing independent libraries
-on the Aku package manager. +on the Akku package manager.
This is a kind of a package manager ecosystem for Scheme, @@ -198,11 +210,13 @@ I don't think that exists yet in Scheme,
so I thought that might make a good SRFI. +NOTE Q: Is there a recommended scheme implementation or does it try to be as portable as possible? +
-Is there a recommended Scheme implementation? +[Corwin]: Is there a recommended Scheme implementation?
-Guile is the reference implementation. +[Ramin]: Guile is the reference implementation.
It's the only one that works with GUI, @@ -222,8 +236,10 @@ and I've had trouble with some of the scheme compilers.
But yeah, I would recommend Guile. +NOTE Q: How would Schemacs deal with Emacs' (re)display architecture? Would it be having its own display architecture? If so, how can it be compatible with things like overlays, images, etc.? From what I know, Emacs is extremely idiosyncratic here. +
-But how would schemacs deal with +[Corwin]: But how would schemacs deal with
Emacs's re-display architecture @@ -238,7 +254,7 @@ And if so, how will you handle things like overlays and images?
-Yeah, definitely. That's to be determined. +[Ramin]: Yeah, definitely. That's to be determined.
So basically, the scheme way of doing things @@ -288,8 +304,10 @@ specifically to support Emacs Lisp.
I don't know yet. I haven't got that far. +NOTE Q: You were saying that you'd like to get "most" of the one thousand three hundred and something Emacs packages done. Is there a technical blocker to doing them all? Or just a problem of getting enough people in to help and start writing scheme? +
-You were saying that you would like +[Corwin]: You were saying that you would like
to get the most out of the 1300 @@ -304,7 +322,7 @@ Are there technical blockers to doing them all or just a problem of getting enough people to jump into it?
-Yeah, it's just a matter of implementing enough +[Ramin]: Yeah, it's just a matter of implementing enough
of the Emacs built-in functions. @@ -316,7 +334,7 @@ Right now, there's kind of a big bug. I mentioned this also in the presentation.
-The stacks trace that you saw during my presentation, +The stacktrace that you saw during my presentation,
that is the biggest bug right now @@ -373,10 +391,10 @@ But I imagine, I have no idea, no way of knowing, but I imagine we don't need 100% of them
-in order to run most of Elpa. +in order to run most of ELPA.
-We probably can get some of the important large Elpa packages +We probably can get some of the important large ELPA packages
like Magit and Org mode with just enough of the Emacs Lisp @@ -394,19 +412,21 @@ So yeah, I'll try to get this bug fixed right away. That way we can all start working on it together, hopefully.
-Highly relatable answer there. +[Corwin]: Highly relatable answer there.
We'll burn that bridge when we're on it or something. +NOTE Q: What are you thoughts on Chicken Scheme? Would it be a good fit? +
-What are your thoughts on chicken scheme? +[Corwin]: What are your thoughts on Chicken Scheme?
Will that be a good fit? Do you think?
-I think it will be, um, I, I did show +[Ramin]: I think it will be, um, I, I did show
trying to run chicken scheme in my, um, presentation @@ -424,7 +444,7 @@ Um, it's probably something to do with the, uh, pattern matcher. Um, I'm using the pattern matcher,
-uh, written by Alex shin, +uh, written by Alex Shinn,
which seems to be the most portable. @@ -439,7 +459,7 @@ But not all scheme compilers implement, what is it called? The macro, I can't remember what it's called.
-There's the macro expansion system for R7 RS small. +There's the macro expansion system for R7RS small.
All of these scheme implementations @@ -471,11 +491,13 @@ if somebody can help me get it to work on chicken team,
I'd really appreciate it. +NOTE Q: Can this emacs lisp implementation be used by Guile's emacs lisp "mode"? +
-Can this implementation be used by Guile's Emacs Lisp mode? +[Corwin]: Can this implementation be used by Guile's Emacs Lisp mode?
-Guile's Emacs list mode. Okay. Yeah, good question. +[Ramin]: Guile's Emacs Lisp mode. Okay. Yeah, good question.
I did mention this last year in my presentation. @@ -535,10 +557,10 @@ it's necessarily going to be not reliant on anything that's inside of the Guile library,
-including the Emacs LISP interpreter that's there. +including the Emacs Lisp interpreter that's there.
-Maybe I could replace the Emacs LISP interpreter in Guile +Maybe I could replace the Emacs Lisp interpreter in Guile
if Andy Wingo would be interested. All right. @@ -558,8 +580,10 @@ quickly try to make my text a little bigger
so I can read a question that came here. +NOTE Q: I wonder if we could do some sort of programmatic analysis on popular Emacs packages to see what list of functions they tend to depend upon, follow function calls down to the lowest level +
-I wonder if we can do some sort of pragmatic analysis +[Corwin]: I wonder if we can do some sort of pragmatic analysis
on popular Emacs packages @@ -571,19 +595,22 @@ to see what list of functions they tend to depend on while a function calls down to the lower level.
-Yeah, that would be good. +[Ramin]: Yeah, that would be good.
-Somebody please do that for me. Awesome. +00:10:57.210 --> 00:10:59.382 +Somebody please do that for me.
-Somebody's raising their hand. Divya. +00:10:59.383 --> 00:11:05.439 +[Corwin]: Awesome. Somebody's raising their hand. Divya.
-Let's see. Yeah, can you hear me? +[Divya]: Let's see. Yeah, can you hear me? + +00:11:08.800 --> 00:11:11.734 +[Corwin]: Yes, we can. Yeah, go ahead.
-Yes, I can. Yeah, go ahead. Hello, thank you. +00:11:11.735 --> 00:11:12.359 +[Divya]: Hello, thank you.
Yeah, this is really awesome. @@ -612,17 +639,19 @@ Because I know a lot of people do not consider Racket
as a sort of scheme thing, because it grew out of it. +NOTE Q: Do you think there is an opportunity to use Racket? +
-Do you think you'll take something from Racket? +[Divya]: Do you think you'll take something from Racket?
+00:11:39.520 --> 00:11:40.424 Because I think Racket has
+00:11:40.425 --> 00:11:42.090 a lot of good ideas that can be used.
-Yeah, I briefly looked at Racket's GUI library, +00:11:42.091 --> 00:11:48.439 +[Ramin]: Yeah, I briefly looked at Racket's GUI library,
but it's very, very heavily dependent @@ -640,40 +669,40 @@ is extremely complex for Racket, and I don't think it's possible to port it to any other scheme,
-as far as I know. But Racket is based on SheaScheme. +as far as I know. But Racket is based on Chez Scheme.
-And I am making an effort to port my code to Shea's scheme. +And I am making an effort to port my code to Chez's Scheme.
I mentioned this earlier,
-but there's the Gwen Weinholdt Aku system, +but there's the Gwen Weinholdt Akku system,
which allows you to translate R7RS to R6RS.
-And since Shea is an R6RS compiler, +And since Chez is an R6RS compiler,
I did at one point get the Emacs Lisp interpreter
-to compile for Shea, +to compile for Chez,
-although I think There's been a change +although I think there's been a change
-either to Aku or somewhere in my own code base. +either to Akku or somewhere in my own code base.
It doesn't build anymore, and I'm not sure why.
-But I would also very much like to run this on Che. +But I would also very much like to run this on Chez.
And I guess in that sense, we'll be able to work on Racket as well. @@ -697,40 +726,45 @@ But that would be something interesting. Yes, I would like to try that.
-Yeah, it'll be interesting. +[Divya]: Yeah, it'll be interesting.
-I do have some experience with chairs. +I do have some experience with Chez.
So, uh, if I can find some time,
-I'll, I'll, I'll certainly like to, I would appreciate. +00:13:17.480 --> 00:13:20.006 +I'll, I'll, I'll certainly like to, + +00:13:20.007 --> 00:13:21.239 +[Ramin]: I would very much appreciate.
Yes. Yeah. Go ahead. Yeah. +NOTE Q: Shouldn't it be enough to just implement the builtin functions? Most of the commands are written in Emacs Lisp, right? +
-Another question I have is, like, +[Divya]: Another question I have is, like,
what exactly is sort of, like, the, the approach is that
-you'll 1st want to do the interpreter +you'll first want to do the interpreter
-and then have enough list functions. +and then have enough Elisp functions,
-Uh, getting the max list functions + getting the GNU Emacs Lisp functions
-interpreted or interpretable. +interpreted or interpretable,
-And then go for GUI or do you want +and then go for GUI, or do you want
to sort of like go hand in hand @@ -742,10 +776,10 @@ is like we have the interpreter working on and we have also the GUI
-and we sort of use one for the other. +and we sort of use one for the other?
-Yeah, I consider the two tasks to be parallel. +[Ramin]: Yeah, I consider the two tasks to be parallel.
So I'm actually doing the GUI separately. @@ -802,10 +836,10 @@ In Schemacs, using the Emacs programming language, I think that's something that we should worried about
-after we have enough of the Emacs list implemented. +after we have enough of the Emacs Lisp implemented.
-Yeah, that makes sense. +[Divya]: Yeah, that makes sense.
There are sort of, I'm a bit worried. @@ -829,7 +863,7 @@ And essentially one of the issues that I'm up against is that Emacs's display system
-is sort of very let's say, not flexible. +is sort of very... let's say, not flexible.
When trying to analyze where this inflexibility comes from, @@ -838,7 +872,7 @@ When trying to analyze where this inflexibility comes from, I don't think it's just the display architecture.
-I think parts of eLISP itself +I think parts of Elisp itself
are connected to the display architecture. @@ -856,13 +890,13 @@ how the re-display architecture works. So I think you'll have to sort of figure out
-what exactly you can salvage from ELISP +what exactly you can salvage from Elisp
without taking the display architecture baggage.
-That's right. I do anticipate +[Ramin]: That's right. I do anticipate
that's going to be fairly challenging. @@ -886,28 +920,31 @@ that will somehow translate down to the React-like protocol that I've written.
-But yeah, I don't I haven't that's nice. +But yeah, I don't... I haven't... That's nice.
-No, this is this is very exciting. Yeah. Oh Yes, it is. +00:16:32.720 --> 00:16:35.256 +[Divya]: No, this is this is very exciting. Yeah. + +00:16:35.257 --> 00:16:36.319 +[Ramin]: Oh, yes, it is.
-Yeah, I'm glad so like a lot of people have told me +Yeah, I'm glad. A lot of people have told me
-that they really Are excited to see this project +that they really are excited to see this project,
and this really helps me
-You know keep focused on this project +keep focused on this project,
because a lot of people are very interested.
-So It's so I'd like to move on +[Corwin]: I'd like to move on
to a couple of questions from the past. @@ -916,16 +953,18 @@ to a couple of questions from the past. We're starting to build up a good backlog.
-Thank you for that. Yeah Next question from the pad I have. +Thank you for that, Divya. Next question from the pad I have. + +NOTE Q: Tell us more about this show-stopping bug! How to squash it? Can people help?
-Can you tell us more about the show stopping bug? +[Corwin]: Can you tell us more about the show stopping bug?
How to squash it? How can people help?
-OK, well, that one, unfortunately, I think, +[Ramin]: OK, well, that one, unfortunately, I think,
unless you're really a scheme genius @@ -1059,20 +1098,22 @@ You never know with bugs.
They're always a little bit tricky. Okay, next question. +NOTE Q: Are there performance concerns with implementing certain C primitives in pure scheme? +
-Are there performance concerns +[Corwin]: Are there performance concerns
-with implementing certain C primitives in PeerScheme? +with implementing certain C primitives in pure Scheme?
-So who is it? The famous computer scientist that said +[Ramin]: So who is it? The famous computer scientist that said
premature optimization is the root of all evil.
-I think it was the guy who invented the A star algorithm. +I think it was the guy who invented the A* algorithm.
His name escapes me at the minute. @@ -1084,7 +1125,7 @@ But yeah, I'm not concerned about performance yet, although most of the scheme compilers that I have seen,
-especially Shea and Gambit +especially Chez and Gambit
have extremely good performance characteristics. @@ -1120,7 +1161,7 @@ maybe for a Wayland implementation or something. But I don't know. It's not a concern for me, performance.
-Okay, there are a few more questions. I do want to mention +[Corwin]: Okay, there are a few more questions. I do want to mention
that the stream has cut away at this point, @@ -1141,7 +1182,7 @@ So, I appreciate all the enthusiastic questions and you're kind of tanking through them all.
-Me too. I love how many questions I'm getting. +[Ramin]: Me too. I love how many questions I'm getting.
This is very encouraging @@ -1161,8 +1202,13 @@ I think you should be receiving.
This is a fantastic project. Thank you so much.
-I'll just say so myself. If the project is successful, +00:21:04.160 --> 00:21:07.051 +I'll just say so myself. + +NOTE Q: If this project is successful, are you worried about a possible split in the community between Schemacs and GNU Emacs users? + +00:21:07.052 --> 00:21:08.439 +[Corwin]: If the project is successful,
are you worried about a possible split in the community @@ -1171,7 +1217,7 @@ are you worried about a possible split in the community between Schemacs and GNU Emacs?
-Oh, I have thought about that. +[Ramin]: Oh, I have thought about that.
And I really don't know what's going to happen. @@ -1272,11 +1318,16 @@ Oh, Cairo, like Cairo.
Oh, Cairo, yeah. Absolutely. I spelled that poorly. +NOTE Q: The dream of never even needing to change to the web browser - would schemacs bring us closer to that? +
-The dream of never needing to change to the web browser. +[Corwin]: The dream of never needing to change to the web browser.
-Would schemacs bring us closer to that? I hope so. +00:23:12.520 --> 00:23:17.818 +Would schemacs bring us closer to that? + +00:23:17.819 --> 00:23:18.376 +[Ramin]: I hope so.
That's also a dream of mine. @@ -1294,7 +1345,7 @@ is so that I could, you know, we could write apps like, you know,
-they have a mastodon client written in Emacs Lisp. +they have a Mastodon client written in Emacs Lisp.
that would be so nice to have this, you know, @@ -1338,11 +1389,13 @@ And so I hope that that's where we end up in a couple of years.
The sooner the better. Anything, just double checking. +NOTE Q: Anything specific other than minimalism that made you choose Scheme over Common Lisp? +
Anything specific other than minimalism
-that made you choose Scheme over Commonwealth? +that made you choose Scheme over Common Lisp?
Oh, yeah, it's kind of a philosophical question. @@ -1354,7 +1407,7 @@ So a couple of things. First of all, it was a conversation I had with William Byrd,
-and he's a guy who makes the Mini Conran framework for Scheme. +and he's a guy who makes the miniKanren framework for Scheme.
It was his PhD thesis. @@ -1447,7 +1500,7 @@ a fraction of what it can do. That's why I've chosen scheme.
-Divya, I see you've got a bunch more comments. +[Corwin]: Divya, I see you've got a bunch more comments.
I think we're just about close to our time here, @@ -1459,7 +1512,7 @@ but if you wanted to jump back in, I'm sorry, I had to cut you off a little before.
-No, it's fine. No, it's fine. +[Divya]: No, it's fine. No, it's fine.
I think I agree with most of what he said. @@ -1467,11 +1520,13 @@ I think I agree with most of what he said.
So, yeah, thank you so much. +NOTE Closing thoughts +
-Um, closing thoughts, Ramin. +[Corwin]: Um, closing thoughts, Ramin.
-Yeah, I guess everybody, please, if you're interested, +[Ramin]: Yeah, I guess everybody, please, if you're interested,
keep watching my Mastodon and keep watching my Codeberg. @@ -1504,7 +1559,7 @@ and I think we're pretty close to getting something that we can all use together.
-Thank you once again for your amazing talk, +[Corwin]: Thank you once again for your amazing talk,
for your exceptional work, @@ -1516,7 +1571,7 @@ and for jumping in, doing the live Q&A, rolling with us here as we have yet another
-We'll See How It Goes conference. +"we'll see how it goes" conference.
It's been just amazing so far, @@ -1525,7 +1580,7 @@ It's been just amazing so far, and this talk is no small part of that. Thank you.
-Oh, thank you so much. Yeah. OK, cool. +[Ramin]: Oh, thank you so much. Yeah. OK, cool.
And thanks for all the questions, everyone. -- cgit v1.2.3