1. 20
  1. 2

    Recently featured here.

    1. 2

      Ah, that is why it didn’t show up as a duplicate. The original post was a video.

      1. 1

        I’m half wondering if a PR for the site code to search for a submission URL in comments from the past X days might be worthwhile. Obviously in this case, there wasn’t really any discussion other than someone submitting the project URL. But it seems to happen regularly where there was discussion and a comment search would’ve found it.

        And it probably needs to wait till the DB story is settled.

    2. 2

      Weird to put this much work into a programming language but not bother to register a domain for it.

      1. 10

        Looking a little deeper:

        Every type in Teal accepts nil as a valid value, even if, like in Lua, attempting to use it with some operations would cause a runtime error, so be aware!

        This is a bit disappointing for me to read since nils are by far the most common type errors in Lua. I’m definitely open to the idea of putting a little more work into my coding by thinking in types, but the types need to pull their weight! A type system which can’t catch the most common type error feels like a missed opportunity.

        1. 3

          Fwiw the talk mentioned nil safety as a potential future direction.

          1. 2

            While still in semi-early development, Pallene is another alternative with some additional performance benefits.

            White Paper


            1. 3

              Yeah, it looks really promising. IIRC Pallene is developed by the core Lua developers. Unfortunately the documentation in their repo does not have enough detail to determine whether their type system has the same nil problem as Teal’s.

              1. 1

                One of the things I notice when working in Lua is, I’m sure because of its relatively small developer community (as compared to say Java or Python or C/C++) I find a lot of places where the Lua ecosystem goes right up to the edge of the water and then just … stops.

                Like, as a for instance, try getting luarocks working on a non *NIX based system. It’s not easy :) I know it’s been done but - not easy.

                Again this is totally understandable because polish and depth require engineer hours to create and those don’t grow on trees.

                1. 2

                  I find a lot of places where the Lua ecosystem goes right up to the edge of the water and then just … stops.

                  My perspective on this is that Lua developers tend to have more restraint and recognize that sometimes if you can’t do something right, it’s better not to do it at all.

                  1. 2

                    I appreciate that. I definitely is nice to skip the super annoying “Here are 30 half baked almost implementations of $THING” phase.

                    Like the fact that there used to be about 9000 Python distros for Windows and now there’s essentially 1 mainstream one.

            2. 1

              I didn’t like this either. I appreciate Go have the zero-value idea for basic types, but there is still the nil issue for interfaces and pointers.

              Back in my JavaScript days it was tedious always checking for null values before doing the real work.

              1. 1

                Unrelated to this, but you may be pleased to know that you can use ?. to safely access values that may not exist in JS. e.g. const name = some?.nested?.obj?.name;

              2. 1

                Totally agree. This makes me think of all the gyrations Swift goes through to ensure that you’re never using or getting a potentially Nil value unless you really REALLY need it and mean for that to be possible in this circumstance.

              3. 2

                there is a domain, but not a website: http://teal-language.org