5 ms·
The Kawa Scheme Language
- desktopninja 5y agoAll that's missing in the name is "ha" and it'd spell "kahawa" which means coffee in swahili :)
- kazinator 5y agoBut then it would no longer mean "coffee" in Polish. Or "river" in Japanese.
- kazinator 5y agoOh look that's what it is: "The name Kawa comes from the Polish word for coffee; a play on words, since Java is another familiar name for coffee." https://en.wikipedia.org/wiki/Kawa_(Scheme_implementation) https://en.wikipedia.org/wiki/Kawa_(Scheme_implementation)
- jhgb 5y agoI'm now wondering what you thought it meant? :)
- gmfawcett 5y agoInteresting, I had always assumed the name was just "Java plus plus" -- ('J'+1) 'a' ('v'+1) 'a'.
- actually_a_dog 5y agoLol, kinda like WNT is VMS with each character incremented by 1. https://en.wikipedia.org/wiki/Windows_NT https://en.wikipedia.org/wiki/Windows_NT
- Per_Bothner 5y agoThe original Kawa was an interpreter written by Alex Milowski, who is (I assume based on the last name) of Polish backgound. I essentially took over Kawa (with his permission), changed to be compiler-based, and over time re-wrote most or all of it.
- skavi 5y ago“Kawa” already comes from the Polish word for coffee. Do many languages use a similar word?
- agumonkey 5y agokawa is used in France often and you now make me believe that it's a loan word :)
- deleted 5y ago[deleted]
- desktopninja 5y agoGuessing then that variants of the word might popup anywhere the land had significant Arab influence from yesteryears
- jhgb 5y ago> Do many languages use a similar word? Here's a potentially helpful picture: https://old.reddit.com/r/MapPorn/comments/7kpolc/spread_of_the_word_for_coffee_26952231/ https://old.reddit.com/r/MapPorn/comments/7kpolc/spread_of_t...
- josefrichter 5y agoI guess pretty much all the languages around the world use some variation of the work kava/kafe, don’t they? I can’t think of any language that wouldn’t use the word. Obviously I don’t speak all the world languages. More interesting situation is with the tea - half of the world uses some variation of the word tea, the other half uses some variation of the word chai.
- neilv 5y agoWhen I started focusing on Scheme as an elegant Lisp for a rapid R&D platform (Web, AI, programming languages, etc.) ~20 years ago, Kawa was one of the implementations on which I tested my libraries. I'd been using Java previously for research prototypes, Java was getting popular, and Kawa's property of running on the JVM seemed potentially practically very useful or critical, and I wanted it in my pocket. I ended up moving primarily to PLT Scheme (aka Racket), but I would (and still do) always tell people about keeping some of the special Scheme implementations as backups. Kawa for JVM, Gambit for large numbers of threads and other properties, Chicken for its C compilation approach and significant community. I think the JVM aspect was one of the keys to Clojure achieving more popularity than Racket. Though Clojure was also led from the top with a better command of industry application, and also focused outreach on the wealth of Common Lisp (CL) (sometimes called simply "Lisp" without qualification) developers, who as a whole seemed to be more seasoned veterans than our average Scheme/Racket developer. (Whereas Racket, though it also had and gained some very skilled developers, was led from the top towards research and CS education goals, and early developer outreach was maybe mostly about being out there among dozens of Scheme implementations, and trying to be attractive to move to, or to be tried first. Industry application understanding came up from the bottom, the funding at the top remained for academic goals, and none of the people with industry experience got into leadership. So, in hindsight, I suppose it's not surprising that Racket and all the Scheme people who went there never took off commercially, beyond a few random success stories, and that Clojure would end up winning more in that regard.) If I get time to do more on Scheme/Racket, other than the occasional package maintenance, I'd probably re-focus on portability to at least a few Schemes, and Kawa would be among them. (Right now, I'm leaning towards investing side-project time in leveraging various background towards Rust -- partly for its merits, and partly to keep learning and integrating a breadth of topics. But Scheme is still worth learning beyond school assignments level, and very powerful and a joy to work with practically, iff you have the time to invest in leveling up, filling in missing bits, and pulling off the occasional magic. Scheme even has some influences on Rust, and maybe with additional influences possible.)
- slim 5y agoSo is kawa irrelevant now that clojure exists ? And why did'n't clojure build on kawa instead of starting from scratch ?
- spellcard199 5y agoHere's a mybinder [1] (adapted from IJava Binder [2]) in case someone wanted to try Kawa without installing it. [1] https://mybinder.org/v2/gl/spellcard199%2Fikawa-binder/06a90273617f5fe2528d4efaa18eb74590ee2eab https://mybinder.org/v2/gl/spellcard199%2Fikawa-binder/06a90... [2] https://github.com/SpencerPark/ijava-binder https://github.com/SpencerPark/ijava-binder
- th0ma5 5y agoI had a lot of fun with Kawa back about a decade ago, and one thing I was missing was something like Maven support, but that eventually led me to Clojure which I really like. But the simplicity of Scheme is really great too.
- doall 5y agoI used Kawa for a prototype Android game app and I have a good impression for the quality of the implementation. Compared to Clojure, Kawa has low startup time, low memory footprint, and has near Java performance that is suitable for mobile apps.
- lukego 5y agoI used Kawa as a "Clojure" of sorts about 20 years ago. Extending Java applications in Scheme. Worked really well, great implementation.
- nlitened 5y agoI really wish programming language websites had example code snippets on the front page. How the code looks and feels, what makes the language unique, how things compare to another widely-known language. Personally, it is the first thing I am looking for, and usually it’s buried deep in the third chapter of a tutorial, which, in turn, is buried deep inside a dull documentation section.
- rcarmo 5y agoThis looks pretty great, all things considered. Java interop seems straightforward, and I even found a Maven plugin for it. Curious as to why I haven’t come across it yet, but will be adding it to my LISP resources page at https://taoofmac.com/space/dev/lisp https://taoofmac.com/space/dev/lisp
- Per_Bothner 5y agoAs far as I know, Kawa is the oldest non-Java language still in use and development that compiles to the JVM. It dates from 1996. (NetRexx is from the same era, but as far as I know is basically an interpreter.)