-
Notifications
You must be signed in to change notification settings - Fork 2
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
Lel interpreter in Python 3 #30
Comments
Hi Omer, That's a cool idea - python 3 is a nice language. I don't think that python vs javascript is a debate worth getting into, but I would like to think that the conventions and patterns used in this project are such that a beginner or student could quite easily follow the code. That said, I would love to see a python version of the Lel language - please don't hesitate to contact me if your curious about anything or would like input 😄 |
Haha! I didn't mean to get in to a debate really! I like both equally. :) Thank you for the encouragement. I am planning to align as much as possible to your conventions and patterns also feature issues to follow the more or less the same development cycle. If I need help, I will get in touch with you by referring you on my issues. Thanks! |
I would like to see this in python, and perhaps other kinds of languages as well. I myself am currently copying by hand to a closed network that does not have Node.js, yet, but has python and java support. I look forward to seeing your progress. |
@ProSpartan yes, python is more ubiquitous in environments. by the way, thanks for the fixes in your fork! I merged those into the mainline today. If you have more, please make pull requests - because you didn't make the PR it doesn't put you into the list of contributors (I don't know why, they are still merged from your fork 🤷♂️ ), but it deserves to be there. |
Thanks. I was planning to merge them into my master branch after I had gone through all the files. After that I was going to make a PR to yours. Just wanted to get an initial pass through and add all the minor fixes at one time. |
Hi @ProSpartan and @francisrstokes I finally feel confident to say the first version of LEL Interpreter in Python is ready. Please check in my repo. I made it working with Python2 as well as I found it is not that hard to do during the packaging.
and run it by
Except the extensions (read file sync), I think it should work as it should be. Moreover; I did some extra features in REPL like:
@francisrstokes I have created a folder named python and put all of my source code underneath. But, I wonder what is the best way to continue. Should we merge it back it in your repo which might require some folder update in node project Or should we keep them separate. I am equally OK for both options. :) |
Awesome news! Congratulations 😄 I think it makes most sense for these to be under two different repositories. But it would be cool to have them under a single organisation (I've already created https://github.com/Lel-Language and transferred this repo there). If you're interested we can set it up so that you administer the python Lel implementation through the organisation? |
Great idea. I will update my repository to have only the Python implementation and also I will rename it to pylel and then I will move it to the organization. Also, I am thinking that, by having an organization, we could also move the examples and the syntax to a different repository to have a better structure. |
Great idea. Makes sense since they should work uniformly for whichever version of Lel you're running |
Cool, we can work on this together. We can even convert the docs to a gh-pages. Btw, I got the following error when doing the transfer even though I renamed the repo to pylel. I guess, the original name is retained to redirect even when it is tranferred.
|
This is a great project to learn the basics of a compiler. I checked the code and it looks pretty clean and neat. But, it is Node.js. :) So, I think writing an interpreter in Python will help more students/beginners to dive in to the details and learn the basics by reading the code.
If you don't mind, I would like to volunteer to this task. :)
I forked the repo already and started with the baby steps. I hope I can have something tangible within couple of weeks.
The text was updated successfully, but these errors were encountered: