Hacker Newsnew | past | comments | ask | show | jobs | submit | brehaut's commentslogin

"but what have you shipped recently?"

Looks like he has shipped 14 books and at least 36 papers on software engineering methodologies.


optional clojure type checking: https://github.com/clojure/core.typed/ (not finished, but showing promise)



Oh, I know. Just wondered if the person who posted the comment above mine had just seen that particular episode, too.


Depends on the audience, and the implementation of fizzbuzz.

This haskell fizzbuzz is great: http://dave.fayr.am/posts/2012-10-4-finding-fizzbuzz.html


The author of this article, Jim Duey, has written some newer introductions to monads in clojure on his new site: http://www.clojure.net/archive.html


Pedantic point: Light years are a unit of distance, not time.

http://en.wikipedia.org/wiki/Lightyear


So it's further ahead and you can't see what will happen there. Sounds like a perfectly good use of the word, given the context :).


Pedantic note: #^ for metadata has been deprecated for at least 2 if not 3 versions. ^{ and ^:x aren't special. It's just ^ (reader metadata symbol) followed by a map and keyword respectively. Other things can also be metadata (for instance you can tag something with a classname to indicate a type hint).

You also missed out a few of the syntax quote stuff.

So, other tokens are #{} ^ #() #_ #'x ` ~ ~@

Full details: http://clojure.org/reader


kickstarters are not the sole way people contribute to projects and communities. ibdknox has created some very popular (in the clojure community anyway) software (noir, korma etc) that a lot of people build on top of. Surely this should count for something.


Oh for sure, I was just curious about people and the platform. It's the only listed metric below a creators name, so if you didn't know who he was, it would be hard to verify. That being said, I've already donated to this.


While not addressed to me, i'd like to chime in with some comments of my own here.

One of my personal gripes with javascript as an environment is that out of the box there is exactly two composite data structures, and both are associative: Objects, and Arrays.

As you are probably aware, Objects are the bread and butter of Javascript and double as full OO objects and also as map/dictionary types with the limitation of only allowing String keys. Arrays have their own quirks but lets leave that aside for now.

Javascript lacks a well understood model of value identity[1]. Without a common model for value identity (i.e. more than reference identity) it becomes very difficult to implement custom data structures (e.g. a BTree for implement a true dictionary type) in a way that can easily (and naturally) be consumed by third parties. Lacking the ability to hook into the [] operator increases the awkwardness for anyone attempting to provide their own custom collections. I would suggest that the lack of good quality collections deployed widely in the javascript world underscores this problem. Contrast this with just about any other language you can think of and it is even more stark.

As an example, any good language probably has a Set datastructure these days. There are two ways to fake it: Degenerate map with the key being the real value and either some sentinal (such as true) or the key itself as the value, or (as is very common in javascript) an array and then doing indexOf.

Let that sink in: a common approach to sets in javascript (when you cant easily provide a string key for your object) is to do a linear search. Yuck.

For a wonderful counter point, have a look at how ClojureScript implements its own collection types, complete with value identity, indentity partitions and proper maps with object keys.

[1] Leaving aside all the unknowns most javascript programmers have about the `valueOf` method.


Welcome to javascript, where everything is a hash table.

Arrays? Secretly hash tables.

Objects? Well, yeah, them too.


Simple: a fanboy is someone you disagree with and would rather attack ad hominem than engage with in rational discourse.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: