1. 19

There is an APL tag for array programming languages and the array programming paradigm.

But there is no corresponding Functional tag for functional programming languages and the functional programming paradigm.

So let’s add one.

  1. 5

    We already have a number of tags for functional programming languages. They are:

    Is there some subset of existing content that a functional tag covers better than any of the language specific ones?

    1. 4

      The tag for APL says: “Array Programming Languages such as APL, J, and K”. Since it’s not specific to one language, I’d use it for the array programming paradigm as well.

      Recent posts about functional programming, that are not just about a specific programming language:

      • Transmorphic: Mapping Direct Manipulation to Source Code Transformations (3 hours ago)
      • The Relationship Between OO and FP (16 hours ago)
      • Declarative Programming: Is It A Real Thing? (2 days ago)
      1. 3

        I think a big difference between APL and FP is that APLs are an extremely tightly unified set of ideas- APL and J are much, much closer to each other than Lisp and Haskell are, or even than Haskell and ML are. By contrast, R and numpy are arguably array programming, but I wouldn’t use the APL tag for them.

        1. 9

          I think Lobste.rs is well served by having a collection of generic tags that cover important paradigms in programming and computing, rather than focussing primarily on tags for specific languages and projects.

          Functional is a good tag, and I think there are enough relevant posts to justify adding a new tag.

          Lisp is a good tag, which is unrelated to functional programming. The Lisp family of languages are distinguished by their syntax, and by the power macro systems that they have. Some of the Lisps have good support for functional programming, eg Clojure, which has functional data structures. I wouldn’t call Emacs Lisp a functional language: although it is technically possible to create a closure value, you have to enable the lexical scoping option, which is disabled by default.

          Due to my personal interests, I’d like to see a tag for array programming as a paradigm. I think array programming has modern relevance, because of numpy, TensorFlow, and other important array programming systems. But I agree that nobody will use the existing “APL” tag for general array programming topics, due to the close association of that word with the languages APL, J and K. And I haven’t looked to see if there are enough array programming posts to justify an “array-programming” tag.

          1. 2

            We have a PLT tag, and at the moment it’d be splitting hairs to do functional , procedural, declarative, concatenative, and so forth.


            You’ve been on the site for a short time. Maybe give things a bit longer before fretting over tags?

            1. 2

              PLT is programming language theory, types and design. An article on functional programming technique, like functional reactive programming, or persistent data structures, would merit the Functional tag but not the PLT tag. Of the 4 recent articles I mentioned as candidates for the Functional tag, neither the Futhark or the Transmorphic article use or merit the PLT tag.

          2. 3

            I think it makes sense to have lisp for Lisps, fp for functional programming languages, especially if you have FP topics that don’t fit an individual language.

          3. 3

            The current top article is “Futhark 0.9.1 released - now with CUDA backend”. The tags are “compiler” and “performance”, but the Futhark project description says: “High-performance purely functional data-parallel array programming on the GPU”

            Tags I’d like to see on the Futhark article: Functional, Array-Programming, GPU

          4. 3

            Maybe we could instead use that to shorten the list there and put them all under a functional umbrella tag and remove them (except the emacs tag, which also happens to denote an editor).

            1. 2

              OP seems to be suggesting that the APL tag is for the paradigm, rather than the language. I don’t know if that is true, but content that is about FP in the abstract, rather than any specific implementation, would fall under the tag. Could have similar tags for OO, logic programming, etc.

              I’ll add that a search for “functional programming” brings up a number of generic articles on the topic. I imagine there are others that don’t have the words “functional programming” in their titles that might be surfaced with a generic tag for those interested in the paradigm itself.

              1. 1

                Emacs is not a functional programming language. Anyway, just curious–is there some limit on tags? What would be the issue with adding one for functionalprogramming?

                1. 1

                  is there some limit on tags

                  As far as I know, there isn’t. However, going by my experience, the Lobsters community seems to be skeptical about adding tags when there’s no clear audience who would specifically filter it out. Searching by tag doesn’t seem to factor into it.

              2. 3

                What people often seem to forget in these discussions is that tags exist as a way to exclude certain types of content from your feed, not to include them. You can’t subscribe to particular tags.

                Is there anyone that wants to exclude everything related to functional programming, any functional programming language, etc.? I somehow doubt it. Some people probably wouldn’t mind being able to see only Lisp and not the ML family or vice versa, for example. But excluding all functional programming would be odd.

                1. 3

                  I use tags to help decide if I’m interested in a story. I would have clicked on the Futhark story much earlier if I had known what it was about.

                  I also click on tag names to find get a list of stories with that tag, to find older stories related to my interests.

                  1. 3

                    Tags are useful for searching, both just because and because sometimes I’ll be reading a story and want to see more on the same topic. Each tag also has an RSS feed so you can subscribe to them, though not in the way you were thinking about. See e.g. programming’s RSS feed.