New user - accolades and questions


New to swift - this forum is great. Anything that can serve as an alternate to stack overflow is a good thing. Seems positive in a way I'm not used to online. Makes me want to switch my Rails server over to Perfect and my Angular over to... whatever there is. :) Already switched our multiplatform over to dedicated mainly because of this site.


  1. Is this site actually developed in swift? If so where is the swift client side development? I realize Perfect is on the server side
  2. Documentation
    a. Am I missing a section here to discuss documentation? As a new user of swift, there's a lot of 'gotchas'... not because the language is difficult, but the language appears to be something else. For instance, the documentation for Hashable doesn't really correlate to a new user experience, at least mine.
    b. Ever think of creating 'contexts' around documentation - level of experience? Coming from a different language?

I sort of feel like there needs to be a bit more bridging between the Swift Gods and the commoners like me. I'd be glad to help drive that effort if there is an interest in terms of the community.

Thanks, great work.

(John McCall) #2

These forums are just a fairly standard instance of Discourse. Discourse (the company) handles the hosting, so I don't think anyone here can tell you much about the stack. The main site is implemented quite differently, and I think there are some people who know more details about that, although I'm not one of them.

As far I know, nothing about the site is written in Swift, at least not yet.

I think the right place to discuss documentation in general is the Using Swift category. If you have a specific complaint you can also file a bug (the right component for Hashable is Standard Library) or even open a pull request against e.g. the file defining Hashable.

I think most of us would agree about the need for different levels of documentation focusing on different audiences, and any suggestions you have would be valuable. We definitely want there to be a better way to get started using the standard library than just reading all the library docs.

(Ben Rimmington) #3

In addition to the documentation for Equatable and Hashable, there's also an article on Adopting Common Protocols and a video on What's New in Swift.

You might find the following topics useful:


There are some good examples of well-written Swift documentation. For example, Encoding and Decoding Custom Types is a page I never hesitate linking to. I can even refer to specific paragraphs, because they are well-focused on pragmatic use cases. This really helps answering questions.


Very helpful comments from all, thank you. After I feel a little more up to speed on the subtleties of the language and the discussion, I'll send a proposal. My experience is mostly in translating FPGA software models to silicon hardware (kind of like a generic hardware compiler as opposed to mapping to a specific hardware) so we had to consider a lot of contexts depending on usage - data center, machine learning, transceivers, etc. Those designs used multiple documents to capture different levels of abstraction, a section within the document contained a lot of links to other relevant sections in other documents, and different family members repeated information rather than inherited it or extended it.

Honestly I'd probably use POP as the foundation/background for a proposed documentation structure. I don't know enough about POP to really implement fully - but the structures match what I've been looking for in my designs.

As a sidenote, swift would make a great language to verify semiconductors with. The current semiconductor language and libraries are limited.