On Mon, Aug 22, 2016 at 5:56 AM, <fnc...@gmail.com> wrote: > And to reconnect this stream of energy to the original point of my posting: > > What do you think about changing the symbol storage in Julia to use > ordered, indexed storage instead of hashed? Does that make sense at all to > you? I've been playing around with this idea of >
No. Symbols are already sorted internally and interned. They are not meant to be a replacement/alternative for strings and must not be used that way. I'm not aware of much application of symbol comparison but they are defined that way to provide a repeatable/reliable semantics so comparing index/pointer is not acceptable in general. Comparing the hash is used internally but will also cause a more confusing semantics so it shouldn't be used. We can also fairly easily speed it up by inlining some C function calls if the performance of that is important. If you just need to sort a few symbols (and making sure you're not just using Symbols as strings) in a undefined order that is only stable within one session, you can just compare the pointer directly. > array based, ordered, indexed sets for a while in different languages; > getting decent results. Symbols are used more than created which means that > the minor speed hit in interning should pay back as soon as you sort > anything by a symbolic name. Seems to do fine up to around 100k symbols, > but I have no idea what you're using in there right now or the other > requirements. Just an idea... > > /fncodr > > > Den söndag 21 augusti 2016 kl. 23:44:35 UTC+2 skrev fnc...@gmail.com: >> >> Also, nice to see you again, despite somewhat irrelevant circumstances. >> Watched you speak in Gothenburg a couple of years ago. Although you were >> only given an hour, you gave a competent enough impression for me to learn >> yet another language. Just wanted you to know that something came out of >> that, for whatever it's worth. Thanks. >> >> /fncodr >> >> Den söndag 21 augusti 2016 kl. 23:38:31 UTC+2 skrev fnc...@gmail.com: >>> >>> No, you're both wrong. >>> Licenses don't add anything but restrictions to giving something away >>> without conditions, how could they? How could a page full of legal bullshit >>> ever make anyone more free? >>> I know that's the story you were told, I've been up there on the >>> barricades, but enough is enough. Outside of corporations, and I don't give >>> a damn about corporations, licenses add nothing but headaches, division and >>> wasted effort. I'm sorry about the community standards, you should know >>> better than to play their game for them. >>> >>> /fncodr >>> >>> Den söndag 21 augusti 2016 kl. 22:19:25 UTC+2 skrev Stefan Karpinski: >>>> >>>> Also, please don't use phrases like "got your panties in a knot" – >>>> this is a violation of the Julia community standards >>>> <http://julialang.org/community/standards/>. >>>> >>>> On Sun, Aug 21, 2016 at 3:55 PM, Stefan Karpinski <ste...@karpinski.org >>>> > wrote: >>>> >>>>> Steven is correct here: licenses are what allow people to use your >>>>> code, not a mechanism for constraining what people can do – by default >>>>> they >>>>> have no rights to your code. If you want to let people do whatever they >>>>> want with your code, use the MIT license >>>>> <https://opensource.org/licenses/MIT> or the even more permissive ISC >>>>> license <https://opensource.org/licenses/ISC>. You can also state >>>>> that you release the code into the public domain, but that's actually less >>>>> effective than granting a license like ISC since not all countries have >>>>> processes for reliably donating works to the public domain (e.g. >>>>> continental Europe), so people in those countries would not legally be >>>>> allowed to use your code. >>>>> >>>>> TL;DR: just put the ISC license on it. >>>>> >>>>> On Sun, Aug 21, 2016 at 1:25 PM, Steven G. Johnson <steve...@gmail.com >>>>> > wrote: >>>>> >>>>>> >>>>>> >>>>>> On Sunday, August 21, 2016 at 12:11:26 PM UTC-4, fnc...@gmail.com >>>>>> wrote: >>>>>>> >>>>>>> I gave a statement, on why I don't offer licenses. >>>>>>> >>>>>> >>>>>> Not offering a license means that no one can copy, modify, or >>>>>> redistribute your code. >>>>>> >>>>>> Saying "Go bananas; use it, break it; embrace and extend it", while >>>>>> it gives some permissions, is actually not sufficient to qualify as >>>>>> open source <https://opensource.org/osd-annotated>. For example, >>>>>> you don't explicitly give permission for people to sell it as part of >>>>>> commercial products, so as a result that usage is prohibited (by >>>>>> default). >>>>>> >>>>>> It took many years for people in scientific computing to realize that >>>>>> licenses were important for example (and as a result the Netlib >>>>>> repository >>>>>> ended up having huge headaches), and there are other prominent examples >>>>>> of >>>>>> problems stemming from software without a license because the authors >>>>>> didn't think they needed one (e.g. qmail). Learn from the bitter >>>>>> experiences of others! >>>>>> >>>>>> >>>>>> >>>>> >>>>