Pythonect (A New Programming Language) Call for Syntax! All feedback and comments are appreciated!

Hi All,

Pythonect is almost two months old and I think it's a good time to promote a design discussion on the language syntax.
The current syntax works great, but it is limited, and makes writing complex programs difficult. For example:


range(99, 0, -1) | str -> _ + " bottle(s) of beer on the wall," -> print -> _.split(" on")[0] + '.' -> print -> print("Take one down, pass it around,")


This is a variant of '99 Bottles of Beer' program written in Pythonect, and it's not the easiest code to read and understand.

I am looking for syntax proposals to complement Pythonect syntax, and I have started a wiki page for it at:


https://github.com/ikotler/pythonect/wiki/Call-For-Syntax


Anyone can edit the syntaxes wiki page and add a new syntax proposal. A proposal can be a new idea, based on another, or mix-up of two or more.
Also, please include with each proposal (in the wiki) the following programs written in the proposed syntax:

* Hello World program
* 99 Bottles of Beer program
* Multithread Counter (a simple loop that prints from 1 to 10 in each thread) program

This will help show the look and feel of the proposed syntax, as well as to be able to compare it to another proposal.


To kick off the discussion, I have added 4 potential syntaxes (Python-like, C-like, Musical notation like, and F#-like) to the wiki page, and I am looking forward to have them reviewed.


All feedback and comments are appreciated.

Itzik Kotler

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

[Meta]

Point 4a in the LtU policy document seems relevant.

Allow me to clarify

Sorry about that, I actually did a cut & paste of the message I sent to Pythonect mailing list. (See: https://groups.google.com/d/topic/pythonect/5CGiv4Sgn2c/discussion) and posted it here.

I did not mean for the design discussion to take place here (at LtU).

Really? So where do we go to

Really? So where do we go to talk about language design then?

more places when a high bar is passed

In most things, if you pass a high enough bar in quality and lucid due diligence, you can break rules if the result is classy enough to love instead of shun. So how much homework is necessary to be really classy? Well, answering Frank Atanassow's questions is a good start.

There's an old May 2005 discussion Let's make a programming language! (seems like yesterday to me) in which Frank Atanassow wrote Some words of advice on language design, which lists five questions to ask oneself when inventing a language. It's delightful writing.

Since 90% of everything is crud, the goal is to get out of the lowest 90% (or better yet the lowest 99%) by filtering out every random idea that comes to mind, by making it pass a test of relevance that depends on context. Every good idea comes accompanied by analysis of why one should care, starting with an argument one should not care and trying to make it stick. Good stuff is anything left over after such red-lining.

Starting a thesis with "Why my idea is terrible" might even make it more interesting to folks, since critical thinking is such a contrast with more common free association.

I agree. I had the same

I agree. I had the same understanding of why a place like LtU.

I believe it's much more for us to call for and/or contribute with (constructive) criticism on language design already performed or ongoing elsewhere than ... well, having that language design thinking process per se happen here.

I really enjoy the frequent updates and links we find here re: the ongoing PLT research, their results, and other non-PLT implementors' experiments.

And yes, also lurking on the disguised flame wars that occasionally happen on some hot topics we're tolerant and wise enough with (i.e., those that don't last too long). Let's not be hypocrite. ;)

no transitive criticism intended

The ostensible LtU focus is commentary and discussion on content presented more formally elsewhere as the primary source, presumably driving quality here. But folks seldom object to good informal ideas presented crisply in passing if it might inspire more new useful ideas. I'm no authority, I just find meta-rules interesting.

I mean no transitive criticism when I praise Frank's piece, which trashes focus on syntax among other things, if you post about syntax. (This remark I'm making is an example of something that should not appear on LtU: care and feeding of sensibilities when it's not a technical topic.)

In my experience...

If for any test you raise the bar high enough, people will pass the test by walking underneath it.

(not my quote, btw.)