zokier 14 hours ago

Code typography is such a neglected area, I'm glad to see any projects that touch on that. This reminds me of Suns Fortress language, which was designed also for scientific computing (afaik more in HPC sense), and also allowed rendering code into pdf with improved typography. Unfortunately lot of the original Fortress resources have linkrotted away, but there are some examples in this presentation (by Guy Steele!) https://www.cs.tufts.edu/comp/150FP/archive/neal-glew/mcrt/F...

xelxebar 12 hours ago

This is super cool! Recently, I've been musing about the potential ergonomics of programming directly with rich typography, and here Forscape's kind of gone and done it.

The project seems to be specifically targeting working scientists, but I think there's real potential for using mathematical and math-like notation in a general programming language. The array language family does adopt a few of the affordances from math, and even that partial pick-up gives them some ergonomic features not seen elsewhere.

At the moment, we're kind of stuck in the paradigm of linear input, only using very limited typography for somewhat dumb syntax highlighting. Math-like notation is really nice at conveying semantics and intent in ways that are really challenging in current languages. For example, sub- and superscripts effectively act as function parameters but give extra freedom for conveying the different meaning and use of said parameters. Things like Haskell's generic infix syntax, named parameters, optional arguments, etc. can be seen as ways of trying to work around current limitations.

The biggest question for me is input, which Forscape seems to address quite nicely. We don't just want to typeset our code prettily, we want to have all the affordances of advanced typography directly available as we code.

I'd love to hear user stories from Forscape: Do you like the mouse-oriented editor experience or do you prefer keyboard shortcuts? What is easiest for you to express in Forscape the language? What is most challenging? Where does the system diverge most from the natural expression? For those with a programming or CS background, how easy is it to reason about memory access and execution? Etc.

Thanks for sharing!

  • cobbal 11 hours ago

    Mathematica also has some fairly advanced typographic syntax. Matrices, subscripts, integral signs, with a decent input system to match. Type <ESC>dint<ESC> to get a definite integral with placeholders.

    One particularly nice thing about it is that it's completely optional sugar over a lispy "FullForm" syntax, and it's easy to convert between the two.

    I'd encourage everyone to play with it, but it's sadly non-free.

    • 7thaccount 8 hours ago

      Upvoted. I have a love/hate relationship with Mathematica, but it is so far ahead of its time in a lot of ways. It's like Jupyter Notebooks dialed up by 100 and fully integrated with everything from linear algebra to calculus to graphics to graph theory to plotting to optimization and machine learning so on. I just find the functional like language (a term rewriting system) to be hard to grasp at times and it being a commercial product means it will eventually lose out in some ways.

auggierose 15 hours ago

Insane. This must have been so much work, and it looks great, but I know I will never use it.

wiz21c an hour ago

Why a new language ? Honest question ? Couldn't it be done on top of say, Julia ? The typography thing is really cool, but having to code in yet another MatLab-clone is a bit annoying (or maybe I'm missing the point)

WillAdams 15 hours ago

Why this rather than LyX, Texmacs, Jupyter Notebook, LaTeX (and a suitable editor), or Typst (and a suitable editor)?

  • Onavo 15 hours ago

    If you asking this, you are the wrong audience. All academic journals accept submissions in Microsoft Word, this is a similar tool targeted at the WYSIWYG crowd.

    • zokier 14 hours ago

      you both are missing the main point here, Forscape is not for writing documents, but for writing executable code.

      • wdkrnls 12 hours ago

        TeXmacs can execute code too. Honestly, if it had 1/10 the community of Emacs, I would be using it for everything from running my window manager to driving my statistical simulations. It's already what Stallman keeps asking Emacs to become.

      • Onavo 8 hours ago

        Good point

etbebl 6 hours ago

I may be missing the point, but I'm not sure there is really an audience for this...obviously nice math typography is important for publishing, but I doubt the set of people who are comfortable with advanced math but who see translating those operations into a traditional plain-text programming language as a barrier, but would be fine with a more math-like syntax, is very large.

Kye 12 hours ago

Is the name a play on Farscape, or is that coincidence?