I like the side-note. > As a side note, expressing configurations in Clojure S-expressions makes a ton of sense. Clojure S-expressions provide a superset of JSON and Clojure's eval allows you to define a function to compute certain values. It's an escape hatch so that you're configuration files don't need to become accidentally Turing complete. The Turing complete nature of your configuration files is well defined as…
Steve Yegge wrote a blog post about this a few years back that I found eye-opening. The whole nasty "configuration" problem becomes incredibly more convenient in the Lisp world. No more stanza files, apache-config, .properties files, XML configuration files, Makefiles — all those lame, crappy, half-language creatures that you wish were executable, or at least loaded directly into your program without specialized proc…
Pixie: A sweet Clojure-ish language
81–90 of 109 posts
Re: Pixie: A sweet Clojure-ish language
#82Earlier quoted context omitted.
Clojure is horribly unsafe. I spent a year writing Clojure and half the time we were fixing bugs where someone had wrapped a map in another map or changed the shape of a data structure. For all that's worth, I'd rather use Javascript. To add insult to injury (the amount of wasted time on something that could be easily checked by a compiler and a sane type system) there's all the bad habits you acquire and the general…
You're the first person I've seen that is vocal about having a truly bad experience with Clojure. Even from other people who prefer strongly typed language, I've mostly seen them expressing it as "not their taste", rather than actively dislike it. Do you mind sharing your experience and what was wrong with Clojure? You put js as an alternative, but in term of typing, js is borderline one of the worse type system out…
Re: Pixie: A sweet Clojure-ish language
#83This 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…
In fact JVM is pretty fast. If you run a simple java app without dependencies and only displaying "Hello world" it will run in about 1s on modern hardware. The problem with Clojure is AFAIR related to parsing and loading a big number of namespaces which is quite slow.
Re: Pixie: A sweet Clojure-ish language
#84Re: Pixie: A sweet Clojure-ish language
#85I'm already replacing my project's ancient Go and Rust based services with Pixie powered end points!
Re: Pixie: A sweet Clojure-ish language
#86Earlier quoted context omitted.
Steve Yegge wrote a blog post about this a few years back that I found eye-opening. The whole nasty "configuration" problem becomes incredibly more convenient in the Lisp world. No more stanza files, apache-config, .properties files, XML configuration files, Makefiles — all those lame, crappy, half-language creatures that you wish were executable, or at least loaded directly into your program without specialized proc…
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.
Re: Pixie: A sweet Clojure-ish language
#87I'm already replacing my project's ancient Go and Rust based services with Pixie powered end points!
Could you elaborate some points that motivated you to switch from go? What would be next?
Re: Pixie: A sweet Clojure-ish language
#88Earlier quoted context omitted.
In fact JVM is pretty fast. If you run a simple java app without dependencies and only displaying "Hello world" it will run in about 1s on modern hardware. The problem with Clojure is AFAIR related to parsing and loading a big number of namespaces which is quite slow.
> 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…
Re: Pixie: A sweet Clojure-ish language
#89Earlier quoted context omitted.
Could you elaborate some points that motivated you to switch from go? What would be next?
This week's hottest language is SVIRFNEBLIN. It's got everything: privilege escalators, compile-to-malgeboge, mini-hdmi, and that thing where your types are all fragments of Sapphic erotic literature!
Re: Pixie: A sweet Clojure-ish language
#90I like the side-note. > As a side note, expressing configurations in Clojure S-expressions makes a ton of sense. Clojure S-expressions provide a superset of JSON and Clojure's eval allows you to define a function to compute certain values. It's an escape hatch so that you're configuration files don't need to become accidentally Turing complete. The Turing complete nature of your configuration files is well defined as…
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.
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 were designed to add a bit of data to what is otherwise a plaintext document intended for human consumption.