[HN Gopher] The Kawa Scheme Language
___________________________________________________________________
The Kawa Scheme Language
Author : akvadrako
Score : 60 points
Date : 2021-08-08 16:34 UTC (6 hours ago)
(HTM) web link (www.gnu.org)
(TXT) w3m dump (www.gnu.org)
| spellcard199 wrote:
| Here'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/06a90...
|
| [2] https://github.com/SpencerPark/ijava-binder
| neilv wrote:
| When 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.)
| alexott wrote:
| There was (and still is)a project called Bigloo
| (https://en.wikipedia.org/wiki/Bigloo) that was interesting by
| allowing to get C, JVM and .Net code from scheme programs. We
| were a Scheme shop and experimented a lot with MzScheme (our
| main implementation, Bigloo and Kawa)
|
| P.S. regarding success stories for Scheme - we had a commercial
| product written in it, quite successful. I wrote the article
| about it in Russian - should be ok to read via google
| translate:
| https://translate.google.com/translate?sl=auto&tl=en&u=http:...
| neilv wrote:
| Oh yeah, Bigloo was also on my list of promising Schemes, and
| I tested with it.
|
| At the time, Bigloo looked like one of those projects that
| seemed to have a lot of energy, and didn't seem to be as
| well-known on my side of the pond as it should be.
|
| (Another time I experienced a kind of geopolitical diversity:
| I was working with a Web-native language, Curl, which started
| in the US, but took off with some industry in Japan, never in
| the US. I suppose that "tech" not being fully homogenized is
| a very good thing, but we do very often have the situation of
| some group A missing out on goodness that B has discovered,
| and vice versa. I think is just another reason to embrace
| diversity in general, to learn and benefit from goodness
| others have found, while also letting that diversity machine
| keep finding new goodness in parallel.)
| slim wrote:
| So is kawa irrelevant now that clojure exists ? And why did'n't
| clojure build on kawa instead of starting from scratch ?
| Jtsummers wrote:
| If you have Scheme code that you, for some reason, want to
| run on top of Java (or the JVM), then Kawa is still relevant.
| Clojure is similar to Scheme (in some ways, but mostly by
| virtue of also being in the Lisp family and being a Lisp-1),
| but is not the same, compatibility with Scheme code was not
| the intent.
| akvadrako wrote:
| Kawa can be used to build and script Android apps. You can't
| easily run Clojure on Android.
| neilv wrote:
| Clojure and Scheme are very different languages in the Lisp
| family.
|
| I see Kawa as an option if you need JVM, and you know you
| want Scheme.
|
| From another direction: If the situation is that you have to
| be heavily integrated into a Java environment (at the
| library/linking level, not microservices, etc.), such as due
| to enterprise legacy systems, tech policy, or maybe an
| embedded system... but you'd get big wins by using a non-Java
| language with that... then I suppose your options might
| include Clojure, Scala, and maybe Kawa. (Maybe other options
| right now; one would have to look into it.)
| mumblemumble wrote:
| I'd argue not. They're in the same family of languages, but
| Schema and Clojure feel offer very different programming
| experiences. Neither is really better or worse than the
| other, they're just different.
|
| Personally, I would probably pick Clojure as a primary
| implementation language because it's big and enterprisey and
| heavyweight and has all the tools and whatnot that come with
| that. And I would be more inclined to pick Kawa for high-
| level scripting, DSLs, and suchlike, for the same reason.
| ilrwbwrkhv wrote:
| What would you recommend for a fun web programming lisp?
| Clojure seems a bit too educated for me.
| iainctduncan wrote:
| On a totally opposite tack, you can use s7 Scheme and C in
| WebAssembly. S7 is fun. :-)
| desktopninja wrote:
| All that's missing in the name is "ha" and it'd spell "kahawa"
| which means coffee in swahili :)
| kazinator wrote:
| But then it would no longer mean "coffee" in Polish.
|
| Or "river" in Japanese.
| kazinator wrote:
| Oh 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)
| jhgb wrote:
| I'm now wondering what you thought it meant? :)
| gmfawcett wrote:
| Interesting, I had always assumed the name was just "Java
| plus plus" -- ('J'+1) 'a' ('v'+1) 'a'.
| skavi wrote:
| "Kawa" already comes from the Polish word for coffee. Do many
| languages use a similar word?
| jhgb wrote:
| > Do many languages use a similar word?
|
| Here's a potentially helpful picture: https://old.reddit.com/
| r/MapPorn/comments/7kpolc/spread_of_t...
| agumonkey wrote:
| kawa is used in France often and you now make me believe that
| it's a loan word :)
| Rexxar wrote:
| Probably from Maghreb: https://fr.wiktionary.org/wiki/caoua
| agumonkey wrote:
| so is poland's kawa derived from maghreb caoua ?
| [deleted]
| desktopninja wrote:
| Guessing then that variants of the word might popup anywhere
| the land had significant Arab influence from yesteryears
___________________________________________________________________
(page generated 2021-08-08 23:01 UTC)