[go: up one dir, main page]

  1. 17
    The Programming-Lang of the Future video plt vimeo.com
    1. 4

      I’m the speaker. AMA

      1. 7

        Hi. Have you got a paper you can link to? (I generally avoid videos?)

        1. 4

          Check out the repo: https://git.sr.ht/~robheghan/glogg

          There are links in the "further reading" section at the bottom.

          However, the video is mostly a live demo and covers features that I haven't gotten around to documenting just yet.

          1. 1

            Thanks.

            Are you familiar with Prolog? It's text in a file, not in a DB, but that's not really vital. But the fundamental mechanism of Prolog (and related) seems similar to what you've done. Might be interesting/helpful.

            1. 1

              I’m familiar. I’ve implemented a text-adventure game and a language parser for a toy language in Prolog, which was a very interesting experience.

              Gløgg is a datalog (prolog without backtracking).

          2. 4

            Could you give a short abstract of the talk so I could know if it's interesting to me? Thank you!

            1. 7

              Abstract

              There seems to be a new language coming out every month, but most of them are surprisingly similar. They tend to focus on instructing the machine on how to do work through a series of ifs, loops, numeric calculation and object creation. To a machine, this is fine. To a human, this is not ideal. Figuring out what code does requires decoding these instructions into a mental model of the result it produces.

              While this might have been an acceptable tradeoff in a time where every CPU cycle mattered, it's a bad proposition today when we mostly care about developer productivity and time to market.

              Is there an alternative? Is it possible to design a language that puts the human being first, and the machine second?

              In this talk Robin, an earlier Elm contributor and the current lead developer of Gren, shares his ideas for the "programming language of the future".


              The video introduces these ideas in the form of a programming language, called Gløgg, and most of the video is a live demo of what you can do with it.

            2. 4

              I'd be interested in how much you were influenced by systems like Fossil, which also puts everything into a SQLite database, or Idris, which also supports a rigid interactive-editing experience. I would also be interested in whether you looked at the more esoteric corners of the constraint-and-logic design space, particularly CHR (WP, esolangs), which isn't a programming system on its own but is meant to be attached to a host system, and Pantagruel, which is a language for specifying specifications by checking coherency without correctness. I don't doubt that Eve was your primary influence, but the secondary influences are interesting too.

              You might be interested in some of the programming systems I've built. Zaha is an attempt to reason solely with posets and stores data in PNG files which can be interactively edited. Cammy is a fairly boring minimalist language that can be content-addressed like Unison or Dark. A v3 Cammy hive is merely a git repository with some special objects and bookmarks.

              1. 2

                I actually use Fossil for several private projects. I wouldn't say Fossil has had a great influence on the design of Gløgg, at least not any more than SQLite itself has. I've heard Unison also stores code in a database, but I haven't looked at Unison myself other than a talk I saw at Lambda Days in '23.

                I've heard of Idris, and read through some of the docs, but I haven't really written any code in it, so I don't know about the editing experience.

                The rest of the links you mention are entirely new to me, and I've added them to my "read later" queue. Thank you!

                I responded to a sibling post about other influences I've had :)

              2. 4

                If You like DataLog, have you seen Egglog? (The e-graph rewriting system, combined with data log) https://github.com/egraphs-good/egglog/

                Would the ideas from it fit in your programming language?

                1. 2

                  Oooo! This sounds interesting!

                  I know of e-graphs, but Egglog is new. Thanks for the link!

                2. 2

                  Thank you for posting your talk. Very interesting. I heard you talk about React and Eve (being a higher abstraction). But I was wondering if you had other breadcrumbs to other languages, tool chains, etc... that you found inspiring and influential.

                  1. 3

                    I believe I first came across logic programming in Clojure with the core.logic package. Clojure also has the Datomic database, which uses Datalog(Prolog without backtracking) as a query language.

                    I've also implemented a text-adventure game and a language parser for a toy language in Prolog, which was a very interesting experience.

                    I also believe I've been influenced a great deal by being a full stack developer. In the backend, you can always call out to the database to retrieve some values, which has always seemed easier to me than the different ways we have of managing state in the frontend world. If you imagine that a database is the invisible first argument to every function, and that database uses Datalog as a query language, you have something similar to Eve/Gløgg.

                    1. 2

                      Thank you. I got strong hytradboi vibes watching the demo. Particularly this talk - DatalogUI: rubbing datalog on UIs

                      1. 1

                        Thank you for the links, I’ll check them out 😊

                3. [Comment removed by author]