

Show HN: Dollar and Cent – A functional tool belt for Swift - agp2572
https://github.com/ankurp/Dollar.swift?hn

======
GuiA
_first Returns the first element in the array and terminated the chain_

 _second Returns the second element in the array and terminated the chain_

 _third Returns the third element in the array and terminated the chain_

 _fourth Returns the fourth element in the array and terminated the chain_

 _fifth Returns the fifth element in the array and terminated the chain_

 _sixth Returns the sixth element in the array and terminated the chain_

 _seventh Returns the seventh element in the array and terminated the chain_

 _eighth Returns the eighth element in the array and terminated the chain_

 _ninth Returns the ninth element in the array and terminated the chain_

 _tenth Returns the tenth element in the array and terminated the chain_

... is this a joke?

~~~
agp2572
Is Rail's ActiveSupport a joke?

[https://github.com/rails/rails/blob/a31277011814b7bdb6be41a8...](https://github.com/rails/rails/blob/a31277011814b7bdb6be41a807e14d6bf2852620/activesupport/lib/active_support/core_ext/array/access.rb#L57)

~~~
p4lindromica
I think the specific example you gave actually is a joke.

[http://www.quora.com/Why-is-Array-forty_two-called-the-
reddi...](http://www.quora.com/Why-is-Array-forty_two-called-the-reddit-in-
Ruby-on-Rails)

~~~
ankurpatel
Yes it is :)

------
agp2572
Dollar is a Swift library that provides useful functional programming helper
methods without extending any built in objects. It is similar to Lo-Dash or
Underscore in Javascript.

Cent is a library that extends certain Swift object types using the extension
feature like ActiceSupport in ruby and gives its two cents to Swift language.

------
randomguy7788
its unfortunate that it repeats the same mistakes that underscore and lodash
does (imo) and makes it very hard to do composition (data comes in first
instead of the predicate/function)

~~~
ankurpatel
The plan is to implement extensions as well.

~~~
randomguy7788
that is awesome to hear!

------
lsdafjklsd
Not so much functional as just useful methods for working with arrays / maps.
It would be functional to include a compose method... also currying is going
to be painful because of how the arguments are structured (data first).

------
vilya
I don't understand why every result is stored into the same class-level
variable. What's the aim behind that? It just seems like it would introduce
unexpected behaviour without any gain, but I don't really know swift yet so
maybe there's something I'm missing?

~~~
agp2572
Static methods are defined using class keywork.

~~~
vilya
Ah I see I read the code too quickly - I didn't notice that not all of the
functions were static. Thanks, I've learnt a bit about Swift by reading your
code.

------
MrGando
Hate this stuff, Swift != Javascript.

~~~
Nekorosu
It's not Objective C also. Move on. The new world awaits.

Though dollar swift is a little bit cheesy for my taste.

~~~
MrGando
A little bit cheesy?

People should file Apple radars if they there's functionality missing in a
Beta Language. Not just try to catch attention and stars in Github with
useless (at least in this stage) projects.

PS: I insist, an expressive language like Swift doesn't need '$.'

Cheers.

~~~
ankurpatel
MrGando I felt '$.' was needed to avoid less typing for developers while at
the same time introducing a namespace that doesn't conflict with anything in
the developers project. Namespace is needed to avoid conflicts with function
names as those same functions could be defined inside another function or
class causing compiler errors when building.

Before calling this project useless please consider the alternative which is
none. Apple will take its time even if you tell them to implement these. You
can either implement these helper methods yourself or you can use this or
another library.

Out of the thousands of people who saw this and liked it I expect few haters
like you cause "If people don't hate then it won't be right"

~~~
Nekorosu
I have a feeling MRGando means the library doesn't look idiomatic enough.
Though this meaning is lost behind the tone of the message.

