Punct: `#lang punct`

Thanks to Joel (@otherjoel) for Punct!

Punct is a programming environment for published artifacts --- for when you want very lightweight markup and for the language to handle paragraphs detection and footnotes for you, but you still want the ability to use functions as markup for things Markdown doesn’t provide

:wink: If you're unhappy with Scribble and Markdown and Pollen and all the rest, try Punct! It even has a new control character: •.

More details: https://github.com/lang-party/Summer2022/issues/3

Developers' introduction: A Lightweight Pollen Replacement

Who will enter the Summer #lang party next?

Ben

6 Likes

Very cool. In the linked blog post it mentions that in the spirit of avoiding the "Lisp curse", this won't be offered as a package. That's a noble and a healthy sentiment for the community, but I'm wondering if there is any scope for joining forces here, as another way to avoid the Lisp curse.

I haven't had a chance to use pollen myself, so I speak very much from ignorance. But is this strictly a pollen replacement/alternative or could it also be used to augment pollen in some way? Could they be used together to provide some combined benefits? Is there any scope for these projects being integrated in some way, such as punct being usable as one of the "input methods" in pollen, even if they are separately maintained?

Very cool.

Thanks!!

In the linked blog post it mentions that in the spirit of avoiding the "Lisp curse", this won't be offered as a package.

The intended meaning was the opposite, actually: that I would be consciously exacerbating the Lisp Curse by not supporting Punct as a package on the package server, but rather encouraging people to fork it if they would like to customize or improve it. By doing this, I would be able to keep Punct idiosyncratic and lean for my specific needs (which was part of the reason I started it), and avoid becoming the thankless maintainer of another package; but we potentially end up with dozens of miniature implementations out in the wild.

To compensate for not being super general-purpose or as convenient to install, I am trying to make the code exceptionally well-commented, and of course I will be doing Scribble docs eventually (writing documentation is the fun part for me).

I’m not strongly committed to this approach, by the way, but I’d need convincing.

I haven't had a chance to use pollen myself, so I speak very much from ignorance. But is this strictly a pollen replacement/alternative or could it also be used to augment pollen in some way? Could they be used together to provide some combined benefits?

Sure, Pollen will interoperate with any Racket module written in any #lang, as long as that module provides two bindings, doc and metas; #lang pollen is simply one way of making such a module. Punct documents also provide those bindings, so there isn’t a reason why they couldn’t coexist with Pollen documents in a Pollen project. Punct is not contributing to The Curse in this one respect, at least.

4 Likes

I see, yeah I misunderstood. "Thankless maintainer," eh? Yeah, there definitely ought to be more recognition for open source contributors, and we aren't there yet. Glad to hear Punct and Pollen play nicely together, and looking forward to seeing what people do with it :slightly_smiling_face:

4 Likes

Some developments:

3 Likes

(I deleted my post above about having version history for every page on my website because, since redoing my website in Punct, the links no longer work and the statements are no longer true)