-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi there, long time no see #188
Comments
This is just my opinion, but for me LDPL is all about having fun and being weird. It’s one of my favorite art projects. What’s missing aren’t language features - I actually think it’s a feature that the language is so slim - but tools and superpowers you can use those language features with. So here are the ways I think it could be taken to the “next level”:
Just imagine what the “EXAMPLES” or “What You Can Do With LDPL” on a web page or brochure when all that is included! Plus, it would all be free from “dependency hell” headaches. I miss the days of writing programs with nothing but PHP and its included standard library. (It could even generate PDFs!)
When I open up an editor to write or edit LDPL, it’s like playing an old 8-bit Nintendo. By today’s standards, the games are “bad”. Their graphics are just boxes and lines, their stories are non-existent or extremely barebones and cliche, and usually the games are way, way too hard. But, despite all that - no, because of all that - they are great. They are free from the shackle of today’s trends and have their own view of the world. Even some young kids today enjoy playing retro games, it doesn’t have to be all about nostalgia! It’s like a breathe of fresh air. Something different.
So in summary, I think we should look to embrace what makes LDPL unique and different, and do more of that. Add superpowers and more tools to our LDPL toolbox. Write more tooling in LDPL itself, to experience pain points first hand. |
That all said, here’s my thinking on ANTLR/C: C vs C++
ANTLRI have written both a formal grammar and a hand-written parser for LDPL (4.x and 3.x), so I have some thoughts here. Basically: even if we move to ANTLR, Instead of codifying all LDPL statements in a formal grammar, I would suggest moving as many built-in statements as possible to use Then what you’re left with is a really, really slim grammar:
For that we could use ANTLR, but it’s probably overkill. Writing our own parser would give us more control and we could do it in only a few hundred lines of code, maybe less, with the added bonus of giving us any kind of error messages we want. I am all for moving to a new parser, especially for error messages, though! If ANTLR is the way you want to go then I’m on board. I just don’t think it’s necessary, especially if we trim the grammar. Either way I would love to see more work on LDPL and am very interested in contributing more! Thank you for opening this issue. |
Hello there, @dgarroDC, @xvxx. How are you? I was wondering about the future of the LDPL language, that has been quite dead for a while now and here are a few points I'd like to talk about.
First of all, during the time I've been not working on LDPL, I've been working on other projects (mainly Polaris and LAPL). These languages offer some things LDPL does not offer:
While working on these projects has been fun and all, there's just one thing that I can't seem to overcome. Those languages are not LDPL and, while LDPL is a language that has major flaws, it also has some very positive points:
I've seen you've been working on some other stuff too and I don't really know how busy you are right now, but I was thinking about some things we could do to take LDPL to the next level:
line_like
abomination. ANTLR is super easy to use and to set up and it'd save us a TON of work. We could also add expressions and functions rather easily!This would require some work, obviously. We'd have to write the LDPL context-free grammar file for Antlr, begin porting LDPL to this new backend, write the C code to be generated, etc. But the end result will probably be a language that's way, way better than the one we have right now. There's always the option of keep generating C++ code, but moving the codebase to Antlr would allow us to add new features (again, like expressions:
store 98 + foo + power(6, 19) in a
) that at the moment we just simply cannot integrate.What do you think?
The text was updated successfully, but these errors were encountered: