Sleep - Perl inspired scripting language for JVM(sleep.dashnine.org)
sleep.dashnine.org
Sleep - Perl inspired scripting language for JVM
http://sleep.dashnine.org/
4 comments
Very odd. Some observations:
+ No slicing syntax. Sigils are used to type/namespace the variable, not to indicate rank.
+ Magic variables like $null instead of keywords. The ability to manipulate the lexical bindings of a closure with this seems like there are underspecified corners lurking.
+ Automatic binding of variables in subroutines makes implicit closures impossible. Instead PHP-inspired explicit bindings are required.
On the plus side: It has call/cc. This is useful enough to make up for most of the other failings.
+ No slicing syntax. Sigils are used to type/namespace the variable, not to indicate rank.
+ Magic variables like $null instead of keywords. The ability to manipulate the lexical bindings of a closure with this seems like there are underspecified corners lurking.
+ Automatic binding of variables in subroutines makes implicit closures impossible. Instead PHP-inspired explicit bindings are required.
On the plus side: It has call/cc. This is useful enough to make up for most of the other failings.
I'd be interested if the website made it easy to get examples of sleep's syntax. An ounce of example is worth a pound of feature list. :-)
For instance, the scala website has a nice big link that I can use to find examples: http://www.scala-lang.org/
Why can't more websites for programming languages do the same?
For instance, the scala website has a nice big link that I can use to find examples: http://www.scala-lang.org/
Why can't more websites for programming languages do the same?
The Sleep Manual is a good source of examples, every function in the language has an example associated with it:
http://sleep.dashnine.org/manual/
Another good place is the Sleep Snippets blog. I haven't updated it in a long time though:
http://www.jroller.com/sleepsnip/
http://sleep.dashnine.org/manual/
Another good place is the Sleep Snippets blog. I haven't updated it in a long time though:
http://www.jroller.com/sleepsnip/
Those aren't good sources of examples. They're good sources of explanations with examples.
When I'm evaluating a language, my first priority is seeing whether it's even worth spending the time to read the explanations. First and foremost, I just want to get a feeling for what the language actually looks like. If I like what I see, then I'll be willing to go more in depth. I'm much more likely to look elsewhere if I have to wade through the manual or complex explanations to get an idea of what a language looks like. It's not that I can't handle the complex explanations. It's just that I can't handle every language's complex explanations. :-)
When I'm evaluating a language, my first priority is seeing whether it's even worth spending the time to read the explanations. First and foremost, I just want to get a feeling for what the language actually looks like. If I like what I see, then I'll be willing to go more in depth. I'm much more likely to look elsewhere if I have to wade through the manual or complex explanations to get an idea of what a language looks like. It's not that I can't handle the complex explanations. It's just that I can't handle every language's complex explanations. :-)
All I can think to say is: why? It looks so amateurish, not well thought out (e.g. $null) and inconsistant I can't think of any reason to use it.
If you want a dynamic language, Clojure is superior in every way and created by an extremely sharp guy. If the parens turn you off then maybe Groovy would be a better fit. There are a wealth of languages already on the JVM. I think the competition is too strong to warrent anyone paying a "late night effort" like this any notice.
If you want a dynamic language, Clojure is superior in every way and created by an extremely sharp guy. If the parens turn you off then maybe Groovy would be a better fit. There are a wealth of languages already on the JVM. I think the competition is too strong to warrent anyone paying a "late night effort" like this any notice.
Sleep started its practical life as an embeddable language for an IRC client. My goal was an LGPL library that others could easily add new constructs to make the language feel like a first-class integration with the application. If you ever used mIRC, I was going for that type of integration and reaching that level of developer (very novice). I was inspired by other scripting languages I'd used, especially Perl. http://jircii.dashnine.org/
I continued to develop the project and took it with me when I was a researcher. I did a lot of fun stuff after I added serializable continuations to the language. I demonstrated some neat dependable and self-organizing distributed systems and also developed some pretty cool simulations all built on Sleep.
After I left my scientist life, I started work on After the Deadline and Feedback Army. Feedback Army is just a web application. It's built-in Sleep too. After the Deadline is the software service grammar checker used on WordPress.com and available in other places, guess what it's built-in? http://open.afterthedeadline.com