×

Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Comments

top

Kawa 2.0 Supports Scheme R7RS

Per Bothner Re: ..that runs on the Java platform. (62 comments)

Thanks. Kawa has what one might call "optimistic typing": The compiler calculates the type of an expression, and compares it with the type required by context. It only complains if this intsection is empty. In contrast, in traditional strict typing the compiler requires that expression type be a sub-type of the required type (unless there is an explicit cast). I've thought about adding an option to Kawa (it wouldn't be the default) to implement strict (sub-type) typing. However, that would require various changes and some thought to make palatable.

5 days ago
top

Kawa 2.0 Supports Scheme R7RS

Per Bothner Re: ..that runs on the Java platform. (62 comments)

Groovy has optional static types, while Scheme does not out of the box.

However, Kawa does have optional static typing. That, plus careful language design, plus a smart compiler, means that Kawa code run very faster - much faster than Groovy or Clojure or JRuby or ...

5 days ago
top

Kawa 2.0 Supports Scheme R7RS

Per Bothner Re: ..that runs on the Java platform. (62 comments)

"Does this bring anything to the table that Groovy doesn't?"

Yes. (I suggest reading the LWN article linked in the submission - it's fairly short.)

about a week ago
top

Kawa 2.0 Supports Scheme R7RS

Per Bothner Re:How does it compare to Clojure? (62 comments)

Ask Rich Hickey that: Kawa (1996) is 11 years older than Clojure (2007).

The linked LWN article meantions some reasons: Among them that Kawa is much faster than closure (both execution speed and start-up speed). Plus some might like that Kawa is mostly-compatible with a pre-existing independently-specified language.

about a week ago
top

Kawa 2.0 Supports Scheme R7RS

Per Bothner Re:Traditional (62 comments)

"Something that I find strange is how fast kawa seems to be [even] in the repl." Note that Kawa does a full compilation (to bytecode), with all the optimizations, even in the repl. (Of course it only optimized one line/command at a time in that case.) The downside is that Kawa is a little fragile if you redefine things in the repl; hence I advise using the --no-inline option for the repl. It's on the list of things to work on when we get a chance.

about a week ago
top

Kawa 2.0 Supports Scheme R7RS

Per Bothner Re:Traditional (62 comments)

Neither Java or Kawa are "traditional compiled language" in the same sense as C or C++. However, Java as a language (rather than as an implementation technology) is much closer in style to C++ than (say) Python or Ruby. Java has lexical scoping, static name resolution, ahead-of-time compilation (albeit to bytecode), does lots of compile-time error checking. In the current environment, Java (and Scala) are considered closer to "traditional compiled language" than languages like Python or Ruby, which are considered "scripting languages". Of course there is no hard distinction between the two kinds (except marketing) - and Kawa aims at the strengths of both kinds.

about a week ago
top

Kawa 2.0 Supports Scheme R7RS

Per Bothner Re:kawa (62 comments)

The Kawa 0.1 interpreter from 1996 was written by Alex Milowski, who is indeed Polish-American.

I took it over in 1996, and re-wrote it as a compiler. At this point, I doubt any of Alex's code still exists. I'm Norwegian-American, and Kawa means nothing in Norwegian. Still, I saw no reason to change the name.

about a week ago
top

GNU Texinfo 5.0 Released

Per Bothner Re:texinfo is good for writing documentation (173 comments)

Aside from the fact that it's Just Plain Horrid(TM) to read or write in source format, TexInfo suffers from the same problem that HTML does: No semantics.

You don't seem to know much about Texinfo. It is definitely very much about semantics - quite like DocBook. I agree DocBook takes the semantics thing slightly further than Texinfo - but it has big holes too: For example DocBook doesn't have a standard way to specify the structure of a command/function synopsis except for the C language.

The reason that DocBook is so "verbose" is that it actually indicates what things are.
One reason DocBook is so verbose is because it is XML, which by definition is verbose and human-unfriendly.

I've written plenty of documentation in both Texinfo and DocBook. They're both reasonable formats, but it is clear that DocBook is very tedious if you have to write it "by hand" rather than use a word-processor. Texinfo is much easier to both read and write, and it handles the "semantics" pretty well.

about 2 years ago
top

GNU Texinfo 5.0 Released

Per Bothner texinfo is good for writing documentation (173 comments)

Texinfo is is a decent format for writing documentation in - nicer and less verbose than HTML or DocBook. You can generate either HTML or DocBook or XML from Texinfo, and then do a bunch of processing on it. For example the documentation for Kawa is written in texinfo, then makeinfo converts it to docbook, which is then converted to html. The result isn't splashy but (if I say so myself) fairly nice.

about 2 years ago
top

How To Crash the US Justice System: Demand a Trial

Per Bothner Re:Sometimes not just money (897 comments)

I honestly hate to go into this because you're right for the most part but most cases in the average metropolitan area have overwhelming evidence.

I'm skeptical, given how frighteningly many cases where someone has been proven innocent after years in prison based on a single eye-witness or jail-house informant, which we know are extremely unreliable, or scientifically bogus evidence, or coerced confessions and plea bargains.

more than 2 years ago
top

Balancing Performance and Convention

Per Bothner Re:That's rich! (171 comments)

Question was JRuby.

Right, but the suggestion was of using JRuby for the Ruby implementation (including Rails), and using "real Java" for the performance bottlenecks. I responded to a comment making fun of that idea.

Now, ensure that you also score memory performance.

"Memory performance" is not a goal in itself - it only matters to the extent that it affects speed (though GC, cache misses, and so on). (And of course if you don't have enough memory to run your application at all or without paging, but that's seldom a problem these days.)

Note I'm not saying that memory usage is unimportant - today calculation is free and accessing non-cache memory is expensive. But nobody cares about memory usage except to the extent that it affects speed.

As you point out, these are short artificial benchmarks, so they may not tell us much about real-world performance. My point remains: Don't dismiss the performance of Java. A lot of smart people have worked hard on making Java run fast, and that is one reason it is widely used in "the enterprise".

more than 5 years ago

Submissions

top

Kawa 2.0 supports Scheme R7RS

Per Bothner Per Bothner writes  |  about a week ago

Per Bothner (19354) writes "Kawa is a general-purpose Scheme-based programming language that runs on the Java platform. It combines the strengths of dynamic scripting languages (less boiler-plate, fast and easy start-up, a REPL, no required compilation step) with the strengths of traditional compiled languages (fast execution, static error detection, modularity, zero-overhead Java platform integration).

Version 2.0 was just released with many new features. Most notably is (almost) complete support for the latest Scheme specification, R7RS, which was ratified in late 2013. This LWN article contains a brief introduction to Kawa and why it is worth a look."

Journals

Per Bothner has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?