Pixie: A sweet Clojure-ish language
91–100 of 109 posts
Re: Pixie: A sweet Clojure-ish language
#92Earlier quoted context omitted.
I agree with most of what you said, but > Lastly, types only give you a single dimension of safety. Dependent types can express a huge number of things, and are often limited only by your ability to describe what exactly you want.
Do you use a dependently typed language in production?
There are some people using some of extensions for Haskell inspired by "dependently typed" systems in production.
Dependent typing is an active research topic right now, and I doubt any fully fledged dependently typed language is used "in production".
However, I was just pointing out that it is possible for types to express a wide variety of things that we do not normally associate with them. Even without full dependent typing, Haskell types are wonderfully expressive and powerful.
Re: Pixie: A sweet Clojure-ish language
#93Earlier quoted context omitted.
> S-expressions are uniform in that they all look the same way. If you treat the language as a user interface to your computer, shouldn't things that do different things have different appearances, to help you distinguish them at a glance?
the point is to free yourself to focus on semantics rather than endlessly learning syntax
Re: Pixie: A sweet Clojure-ish language
#94Earlier quoted context omitted.
Great quote. This idea is still not too popular, unfortunately. There are a lot of folks out there that get real mad when configuration is code. Notably, sysadmins that feel forced to learn Clojure or to configure an application. "Why not XML or JSON?", they say.
It really depends on the environment and culture. In Python web apps for example it's very popular to keep project configuration in Python dicts and lists, which are just Python code (as opposed to using something like YAML or JSON for config).
Re: Pixie: A sweet Clojure-ish language
#95Earlier quoted context omitted.
You are missing clojure start time which for me is over 1.5 seconds on top of the jvm start time.
I'm not missing anything, I'm saying the statement > And the JVM has the slowest startup time of any runtime I've ever encountered. looks completely correct in and of itself. Clojure's startup time can be blamed for making things worse (by a fairly significant bit), but the JVM is already, without Clojure, the slowest-starting runtime I have on my machine. And that's what pjmlp objected to.
With a normal hard disk.
Maybe it does take a few ms more than Lua or Python, but hardly anything significant.
Re: Pixie: A sweet Clojure-ish language
#96Earlier quoted context omitted.
Great quote. This idea is still not too popular, unfortunately. There are a lot of folks out there that get real mad when configuration is code. Notably, sysadmins that feel forced to learn Clojure or to configure an application. "Why not XML or JSON?", they say.
It really depends on the environment and culture. In Python web apps for example it's very popular to keep project configuration in Python dicts and lists, which are just Python code (as opposed to using something like YAML or JSON for config).
The Right Way (TM) is loading from env vars.
Re: Pixie: A sweet Clojure-ish language
#97Earlier quoted context omitted.
I'm not missing anything, I'm saying the statement > And the JVM has the slowest startup time of any runtime I've ever encountered. looks completely correct in and of itself. Clojure's startup time can be blamed for making things worse (by a fairly significant bit), but the JVM is already, without Clojure, the slowest-starting runtime I have on my machine. And that's what pjmlp objected to.
I get 130ms on Windows 8.1, Core Duo 2.53 GHz with jdk1.8.0_40. And 120ms If I disable the JIT. With a normal hard disk. Maybe it does take a few ms more than Lua or Python, but hardly anything significant.
Yeah, like 3 to 6 times longer.
> but hardly anything significant.
Well if 6x is not significant, surely Clojure's second start time is hardly significant.
Re: Pixie: A sweet Clojure-ish language
#98Earlier quoted context omitted.
> If you run a simple java app without dependencies and only displaying "Hello world" it will run in about 1s on modern hardware. > time for x in $(seq 1 100); do ./helloworld.py ; done real 0m1.240s user 0m0.902s sys 0m0.343s That's reasonably fast. Java for comparison: > time for x in $(seq 1 100); do java Hw; done real 0m4.952s user 0m4.051s sys 0m1.071s And I had to compile java first. Still, I expected worse fro…
Out of curiosity which Java? OpenJDK or Oracle or IBM?
> java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)Re: Pixie: A sweet Clojure-ish language
#99This seems like bit of a short sighted move not that I disagree with it. Project Jigsaw which will be a big part of Java 9 aims to make the JVM more modular which will reduce the memory footprint substantially. Personally I would like to see a version of Clojure that targets this JVM specifically and abandons backwards compatibility. Leaving the JVM means you abandon the decade of libraries many of which you simply c…
Pixie is not officially connected to Clojure in any way.
The creator has been involved in Clojure's development, and is remixing parts he likes into a new language and platform. I would peg this more as a research project that the Clojure team could take some pointers from.
Re: Pixie: A sweet Clojure-ish language
#100Earlier quoted context omitted.
Tell me about it. First thing I asked when I saw HTML over a decade ago was "Oh so you can close tags out of order?" - "Uhm, no, the last opened tag must be closed first" - "Then why do I need to say its name when closing? There's no ambiguity, it's always 'close the last opened tag', so why say its name again?". Folks at W3C must not know Lisp.
> "Then why do I need to say its name when closing? There's no ambiguity, it's always 'close the last opened tag', so why say its name again?". Folks at W3C must not know Lisp. HTML (well, SGML, in this case) was designed for humans hand-authoring large documents. If your opening tag is a few hundreds lines above the closing tag, a little redundancy is handy. Remember, HTML is a markup format, not a data format. Tags…
if whatever
...
end # whatever
(p
...(bunch of stuff inside p)...
) ; p
Now it's optional, not part of the standard, and the language is cleaner for it, while allowing for a way to help your described scenario.Folks at W3C want to fix all kinds of non-existing problems (like HTML5 canvas when there's already OpenGL viewports).