IRC channel logs


back to list of logs

<amz3>Schism – A self-hosting Scheme to WebAssembly compiler
<amz3>cc wingo
<manumanumanu>Ahoy hoy! This year's flu is pretty bad
<hunzelstrunz>I'm thinking about doing something guile/emacs related as part of a future project at my university. I've heard guile now supports emacs lisp completely, wouldn't creating a full guile emacs just consist of creating the needed c primitives and making them available in the guile runtime?
<hunzelstrunz>Are there any projects under development and does anyone know their status? I regulary searched for guile-emacs in the past but everything i found seemed pretty dead/I couldn't get it to work.
<hunzelstrunz>Another idea: has anyone thought about implementing the primitives in Rust and the using Guile as the emacs lisp engine?
<rekado_>hunzelstrunz: AFAIK there hasn’t been any progress on GuileEmacs in recent months.
<rekado_>I tested GuileEmacs in the past and it did work, but crashed when desktop-save-mode was active (I think), and it was pretty slow to start (because it didn’t compile the elisp code).
<rekado_>There is a guile-emacs package in Guix. I’d encourage you take a look at that before continuing the work on GuileEmacs.
<hunzelstrunz>Do you know if the emacs lisp support of guile is complete?
<rekado_>I don’t know. I think in general it was fine.
<rekado_>but the guile-emacs package in Guix specifies a variant of Guile, so I don’t think you can just use the latest Guile release for that.
<rekado_>the guile variant was taken from git:// at commit d8d9a8da05ec876acba81a559798eb5eeceb5a17
<hunzelstrunz>OK thanks :) do you have any idea why the modified it?
<rekado_>at the time the latest version of Guile lacked certain features. I don’t know if that’s still the case or if all of these modifications have already found their way into Guile upstream.
<rekado_>cwebber would probably know that.
<rekado_>they worked on upstreaming some changes some months ago.
<hunzelstrunz>I'll try guile-emacs from guix for now and have a look at the code
<rekado_>let us know if anything is unclear;
<hunzelstrunz>sure, also if anyone else knows something feel free to write
<rekado_>I don’t know much about how GuileEmacs works, but I’m very interested in seeing it improved.
<hunzelstrunz>me too, i think emacs lisp is definitely the right choice (mostly because there's already that much editor-code written in it) but unifying the interpreter for all gnu projects sounds like a good idea
<OrangeShark>I wonder how easy it would be to run emacs lisp libraries in guile
***ayys_ is now known as ayys
<amz3>scheme@(guile-user)> (define (foo a b c) a)
<amz3>scheme@(guile-user)> (procedure-arguments foo)
<amz3>$1 = ((required a b c) (optional) (keyword) (allow-other-keys? . #f) (rest . #f))
<amz3>TIL procedure-arguments
<dustyweb>btw, this is cool
<dustyweb>self-hosted wasm scheme
<dustyweb>wingo: ^^^
<amz3>manumanumanu: good luck with the flu :)
<spk121>More work on moving SMOBs to foreign objects. Rather disappointed to lose the ability to define what 'equal?' means.
<spk121>I also lose my C-defined SMOB print functions, too.
<spk121>But the multiple slots functionality is cool.
<cmaloney>dustyweb: Interesting that it is a Google (not Google) project
<amz3>it's a pet project
<OrangeShark>I think google allows you to work on your own projects at work, but they have the ownership
<OrangeShark>just look at how many repos google has on their github group
<dustyweb>cmaloney: I think I know who did it
<dustyweb>because I think I sat next to them at TPAC :)
<dustyweb>while they were working on it
<dustyweb>I was sitting in the webassembly room and *someone* there was working on a Guile that was written in WASM
<dustyweb>and I'm guessing it was probably the same person :)
<cmaloney>Maybe if we could get a proper scheme on the browser then people would stop saying that JavaScript is a Scheme
<cmaloney>ACTION gives himself the side-eye.
<davexunit>"javascript is a scheme!"
<davexunit>*runs out of stack space*
<davexunit>*curly braces fall out of my pockets*
<amz3>I have been thinking about webdev
<amz3>I am wondering if I will continue to do webdev on my freetime
<OrangeShark>amz3: are you going to now web dev with scheme written in WASM? :)
<OrangeShark>compiled to WASM
<amz3>I am wondering ^^'
<amz3>the thing is that it doesn't solve the issue of the web stack
<amz3>by issues, I mainly think about complicated stack
<OrangeShark>what do you mean by that?
<OrangeShark>too complex to manage or understand?
<justin_smith>mainstream web dev uses fragile stacks of halfway-working tool built on top of halfway working tool all the way down - as soon as something breaks you have to learn every layer to figure out which one broke
<justin_smith>last I checked at least
<amz3>it's complicated because it re-invent the wheel for doing all the things with the promise that it will be safe for the user to user the applications built on that platform
<amz3>but the promise that it will be safe is not respected, i think.
<amz3>the main advantage of the web platform is that it very easy to "distribute" the application
<amz3>with an easy path for software upgrades
<amz3>one doesn't need a web browser to create netwoked applications
<cmaloney>Right, but it's a nice cross-platform environment when it works
<amz3>yes the cross platform thing is nice too
<amz3>but at the end of the day, do you want to promote platforms that do not support free softwares?
<amz3>the worst in this story, is that IF as much engineering was put into free software distributions, there would be more options to build cross platform applications without resorting into the "unsafe" web platform
<cmaloney>I'm not sure where the free software argument comes into play
<amz3>at the end of the day, the only benefit I see in the web platform, is allow people to run applications without distributing the source code
<cmaloney>Ah, right.
<amz3>one of the premise of the web was that code was distributed and readable and people would learn from that
<amz3>this is not true anymore for most frontends and anyway you don't have access to the server part so the problem of 'learning' is stil here
<cmaloney>I blame efficiency optimization for a lot of that
<cmaloney>That it also can allow folks to not share the code is a side-effect of that thinking
<amz3>the web platform is also slow in terms of speed but also in terms of innovations
<amz3>because of the sandbox thing I guess, webgl is very slow, so it porhibits innovation in the space as down to earth as user experience
<cmaloney>Well, it takes time to rebuild client / server mainframes and terminals. :)
<amz3>what do you mean?
<cmaloney>I'm being cheeky
<amz3>I think I get it
<amz3>if people had access to good cross platforms toolkit, there would be much more experiments in the frontend side of applications, instead we are stuck with div as boxes everywhere
<cmaloney>Thing is we keep realizing that folks don't want applications; they want services
<amz3>I believe other frontend paradigms are possible, but the web platform being slow, slows down the progress. A prime example of that is Virtual Reality or things that mix both camera and opengl
<cmaloney>You can throw whatever tech you want at a problem but if it doesn't scratch the itch then it won't get adopted.
<amz3>you think people don't want to think about "it" and just consume some thing?
<spk121>the web platform has big advantage over GTK/QT. The prototype is quickly made. The boilerplate in the simplest GTK/QT app is still lengthy
<amz3>yes, that's true, but that falls into the part where i say, that less engineering was poored into gtk/qt
<amz3>the app store paradigm inspired from distribution is good enough and much safer than the web does it to distribute things
<amz3>I hope I will have time to work on a react-like rendering library for guile-gnome
<amz3>daviid: hey, why not make that into a GSoC project under GNU umbrella?
<amz3>daviid: that is a react-like rendering library for guile-gnome?
<daviid>i want app, i don't want services
<daviid>the webplatform, is, imo, all wrong, it is just wrong, so, i understand most 'web' folks like it of course but i don't. and i see app copying interface model from the web app/ervices, leading to, imo, gui design desaster (linphone desktop is a good all wrong example of that tendency, again, imo
<daviid>i wish humanity would never invented smart phgones, and humans never give any right nor any advantages to any prorpitary company to use our data, location ...
<daviid>why a react model in guile-gnome, why not use guile-gnome 'as is',and write app using the gtk/gnome qt paradignm ... way better imo
<cmaloney>So is that a no then? :)
<daviid>amz3: I have zero time to lead any gsoc projects anyway, but feel free of course, just my opinoins ... if you think it is the way to go, then go ...
<daviid>cmaloney: you may go for it, and/or help amz3 :)
<OrangeShark>amz3: so you want a declarative way to create UI?
<OrangeShark>ACTION still hasn't had a chance to look into react
<daviid>you may declare a ui in guile-gnome, and even for small app,I use glade, which is a must
<OrangeShark>maybe not just declarative but something else react does
<daviid>ekiga is just perfect, or pidgin, in terms of design (unfortunately, ekiga seems unmaintained), compared to linphone (the desktop app, not the hone app) as a good example of what i was trying to say ...
<daviid>anyway, have to run, bbl
<daviid>i also we all (all humans on earth), stop using google, github, fb, twiter .... so these companies just die
<daviid>and even being a 'good thing', gsoc is google, so for me it is very bad, a very bad education model for young people, who then syart to thnk they have to 'thank' google, which just destoyes the world
<daviid>not a single compny on earth should have the right to take and analyse any private data without a justice mandat, full stop. anything else is a complete destruction of the fundamental contruction of democracy. these companies must die, and for ever
<daviid>they are destroying simply destroying the world
<amz3>OrangeShark: yes, react and elm allow for a unidirectional data flow, where events trigger the 'rendering' function that will return a declaration of the new gui. Scene graphs updates are done automatically based on the declarative gui returned by the view.
<amz3>it's very easy