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…
12 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!
- so just ask if you need help
You can ask for help on
Looking forward to seeing the first entries
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 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
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
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
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.
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
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:
Best regards
Stephen
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.
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