robertkrahn01
https://github.com/ExtensityAI/symbolicai/blob/main/examples...
We are currently working on a headless client that will also work on Linux. We do not have exact dates for a release yet but it (and a full client) is on our roadmap. IT WILL happen. Fingers crossed.
Org-AI: Turn Emacs into a speech-enabled AI assistant [video]
Show HN: Run ChatGPT and DALL-E in Emacs org-mode
https://github.com/rksm/org-ai
org-ai is an Emacs package to integrate with the OpenAI API. It exposes a number of the API parameters (like temperature, system prompt, etc) so that it is easy to experiment with different combinations. The chat text is intentionally made fully modifiable.org-mode is able to embed images so that DALL-E image generation and variation can be used from within an Emacs buffer. Definitely a fun way...
Twitter to set a $100 price tag for their “basic” API
[1] https://lukego.livejournal.com/23379.html [2] https://github.com/purcell/lively/tree/348675828c6a81bfa1ac3...
When changing instance or class variables in Smalltalk, the system actually changing the object layout and goes and recompiles code using it. If you are interested in the details: Chapter 5 of [1] explains it a bit.
[1] Hirschfeld et al. Assisting System Evolution: A Smalltalk Retrospective. http://soft.vub.ac.be/Publications/2002/vub-prog-tr-02-25.pd...
Oh that is easy to do thanks to Rust features, see the reload-feature example: https://github.com/rksm/hot-lib-reloader-rs/tree/master/exam...
Also, part of the idea is to make hot-reload as little additional burden as possible. Proper compiler support would be the real solution to that but in the form presented in the article you can at least quickly switch between an efficient static build and a dev version, something that would be hard to achieve with an RPC mechanism.
That being said, you can still go quite some way with this approach. On the one hand, simply being able to twiddle an algorithm into shape is really handy when making a game, visualization or exploring data.
On the other hand, you can also serialize state or keep it in a generic form like a serde_json::Value. Serialization of course needs some kind of migration on the part of the code using it (if the data layout changes it loads an old version and needs to convert it to the new form) or defaults for newly added fields/types. However, this is true in general, even in other languages.
Hot Reloading Rust for Fun and Faster Feedback Cycles
Thalo – Rust event sourcing framework
And in some areas emacs is just better than other tools in my opinion. E.g. I consider emacs-cider [2] to provide the best Clojure development experience.
Not sure if I can help but happy to get in touch. Feel free to shoot me an email or such, contact links in my profile.
[1] https://github.com/LivelyKernel/LivelyKernel/tree/master/cor...
No, and I wasn't suggesting that. Though Lively was a project at YC Research in 2016/2017 and replit is a YC 18 company I think. So they might have heard about it but I do not remember giving any demos to folks involved with it.
And even if, we actually invited folks to copy the ideas. The Lively project was not a product but trying to carry forward a set of ideas rooted in Smalltalk. Every copy (even if its not a good one) is cool to see. It has the change to make the language and tooling eco system better, programming easier and more immediate, and might invite more people to get started building software and having fun with computers.
> is there a list of languages it supports
No not really. We build out a few to have more polish (as you mentioned LivelyR and cloxp, support for shell programming and node.js that is part of Lively itself). But there isn't really much to it: here is e.g. a quick'n dirty Haskell "subserver" that can run as part of Lively and allows to load a Haskell runtime, load Haskell files and evaluate expressions [1] (this is anno 2013, please don't judge too hard about the code ;). Some of these are floating around. We then customized the ACE editor [2] a bit for providing some fundamental editing experience (it has syntax highlighting for a large number of languages builtin). That's it, for a simple integration, not much is needed really.
There is also the amazing Ohm project [3], a toolkit for writing PEG parser and interpreters which is standalone but got its integration into Lively as well. It allows to quickly experiment with new language ideas or implement grammars/interpreters for existing languages.
Thinks like that have been done even with plain JS and the results are very cool, see e.g. SqueakJS, a Squeak/Smalltalk VM implemented directly in JS.