Summer #lang Party

Write a language with Racket this summer! Win prizes!

Suggestions for languages are welcome too. See below!

Ground Rules

Any language counts as long as you helped to make it. Big or small, brand new
or recently improved.

Submit as many times as you like.

Limit 1 prize per participant. Prizes TBD.

Teams welcome.

Open until October 1.

Everyone is welcome. Be good. Follow the Racket Friendly Environment Policy:
https://racket-lang.org/friendly.html

How to Submit

Submissions are accepted in any forum where Racket discussions happen.
Announce your language, make sure Ben and/or Stephen see it, and you're in.

We recommend submitting via this link:

https://github.com/lang-party/Summer2022/issues/new?assignees=&labels=&template=enter-the-lang-party.md&title=[entry+-+name%2Fdescription+of+language]

(if GitHub is a problem please contact us directly as we are happy for submissions by other means)

Rough ideas and requests for help are welcome too:

https://github.com/lang-party/Summer2022/issues/new?assignees=&labels=lang-request&template=lang-request.md&title=[Lang+Request]+...

Fine Print

This is an unofficial event run by Racket users (@spdegabrielle and @ben_greenman)

Submitted languages may use any software license.

Event homepage:
https://github.com/lang-party/Summer2022

For the text in each submission, however, we ask that you license it
as CC BY 4.0.
https://creativecommons.org/licenses/by/4.0/

Further Reading

This is a tiny list. Suggestions welcome!!

Edit: All languages count!

Some tools that might help

Example languages

An incomplete list of examples…

Racket
Discourse users
Racket Discord

12 Likes

This sounds like a lot of fun! :dancer: Is this for #lang's only or would embedded and hosted languages also count?

Excited to see what Racketeers come up with :racket: :checkered_flag: :medal_sports: :+1:

2 Likes

Embedded and hosted languages are very welcome, as are External DSLs.

All languages count.

I’ll change the top post

Best wishes
Stephen

2 Likes

I’ve updated the top post “ Summer #lang Party “ to add

Never made a language before? / Not sure where to start?

The Racket community welcomes beginners! :heart:

  • so just ask if you need help :grinning:

You can ask for help on

Looking forward to seeing the first entries :smiley:

Stay cool and keep hydrated

Stephen

1 Like

In that case, might I also humbly recommend Writing Languages in Qi to the attention of participants :slightly_smiling_face: Depending on the type of language you are trying to write, Qi may be a good starting point for it.

4 Likes

Thank you - that is a great idea - I’ve added it to the top post “ Summer #lang Party “

2 Likes

Just added Creating Languages in Racket - ACM Queue to the top post.

A great resource and highly recommended.

S.

1 Like

Very happy to report we have had four entries in the first week!

I’ve posted the first two in the new #languages category - and we will get to the others this week.


Need help? Want to form/join a team ?

Rough ideas and requests for help are welcome too - choose [Lang Request] ’Suggest a language, inspire collaborators’ and let us know

https://github.com/lang-party/Summer2022/issues/new/choose

Best wishes

Stephen

PS Prefer chat? Try Racket Discord

2 Likes

We are up to day 10 and we have another three entries;

  • #lang gtp-measure/output/typed-untyped
  • Fâ™­m aka f-flat-minor
  • Budge programming language

You can find details of all the entries at https://github.com/lang-party/Summer2022/issues

Or post your ideas, suggestions or entries at https://github.com/lang-party/Summer2022/issues/new/choose

choose

If you don’t have or want to use GitHub that is fine too. You can message either @spdegabrielle or @ben_greenman here on the racket discourse (click our handles), on Racket Discord or on Racket Slack.

We just got another entry to the Summer #lang party

Thanks @winny :racket::heart:

Check out TinyBASIC at Issues · lang-party/Summer2022 · GitHub

2 Likes

It’s day 15 and we now have 10 entries and one suggestion!

The entries are far more diverse than I expected with languages for scripting demos, creating documents, and hardware description just to name a few.

The suggestion is an interesting one but might be too much of a challenge in the two months left for one person: Standard ML!

Is it even possible to implement the small subset of standard ML is used in The Little MLer. (Maybe a team effort? message me if interested)

Check them out the submissions, or submit your own at https://github.com/lang-party/Summer2022/issues

best wishes
Stephen

1 Like

The suggestion is an interesting one but might be too much of a challenge in the two months left for one person: Standard ML!
Is it even possible to implement the small subset of standard ML is used in The Little MLer . (Maybe a team effort? message me if interested)

Hi all, it sounds like there might be some interest in our "mlish" #lang: GitHub - stchang/mlish

It is an SML-inspired typed language that attempts to demonstrate that Racket-style extension capabilities can work in the typed world as well. Some features we've implemented, as libraries of course, are type classes and GADTs.

While it is very much a research prototype, we have spent a decent amount of time trying to build a small mlish code base that includes some Language Shootout Benchmarks, Okasaki's functional data structures, and even some Cornell FP course HW.

Feedback welcome. (Also, feel free to submit it to the Summer Party if you feel it would be appropriate)

2 Likes

This is great! How did I never hear of this before?

When I got home tonight I’m trying this out.

TYSM.

Stephen

I won't have the time to work on any #lang, but I have a suggestion. :slight_smile:

There's GraphQL, which describes a way to query or mutate online resources. It's somewhat similar to REST, but GraphQL allows a response to contain only fields that you specify in a query. Also, there are GraphQL schemas, which are typed. An example of a GraphQL schema is this description of the ticket system API for Sourcehut.

A #lang graphql-schema file could be the actual schema file with the #lang line, to be able to directly process existing schema files. Importing a module in this language might be equivalent to define structs and possibly constructors and/or contracts for the types in the schema.

There's already some related Racket code here:

As another inspiration, this page lists tools for other programming languages.

2 Likes

Another suggestion:

Something else I find intriguing are textual languages to create graphics from. Examples of Racket libraries are Pict or MetaPict, but I'd be especially interested in seeing examples of specialized graphics languages for certain applications, like PlantUML.

Is there a type of diagram or other visualization you'd like to create from a text file? What would a language for this look like?

A variation could be to generate an intermediate text format instead of image files, for example dot files for GraphViz, if that seems appropriate.

3 Likes

Prizes arrived!

They’re like stickers but reusable(!!) but only work on metal

3 Likes

There is a little over one month left for the Summer #lang Party :stopwatch::eyes:
Still time to get the LOP bug!

1 Like

There is still time to join the Summer #lang Party

Building a large language can take time, but have you considered a little language?

You might be able to do a little language in an afternoon or a weekend so there is plenty of time.

For inspiration maybe read Programming pearls: little languages Jon Bentley (CACM, 1986)

To get started you have a choice

And don’t forget to ask for help:

Discourse users
Racket Discord

Best regards

Stephen
:beetle:

PS Maybe try Writing Languages in Qi

Reminder: the summer lang party runs until the end of this month. Just a few weeks left!

As Alan Kay said, a computer is an instrument whose music is ideas. With Racket the instrument transcends itself, enabling new ways of ways of thinking playing and creating. :grinning::tulip::ringer_planet::tada:

Of course anytime is good for making a new language. But now’s the only chance to win a lang party magnet along the way!

4 Likes