wmww/Pinecone

This isn't an issue but...

raclettes opened this issue · 8 comments

@william01110111 I am a C# developer (and I love this programming language). I have started developing Pinecone in C# for Windows compatibility (and you currently don't have this), with a compiler... so if I could have some sort of specification document I will happily finish it and create a pull request with the needed subfolders, code and executables (yes, so you can do stuff like C:\> pinecone myprogram.pn)

wmww commented

Thanks for the interest! Windows should be supported currently. If you have any problems building it, let me know.

I'm not exactly sure what you are purposing. If you want to recreate the entire language in C#, that would be a huge undertaking I would not recommend. Now that there is a working implementation of Pinecone, the only reason it would be sensible to reimplement the language is if it was done Pinecone itself.

If you want to work on support for compiling, that would be greatly appreciated, but I would like to keep all the code in the project C++ and Pinecone unless there is a specific reason to use something else. If you wrote a compiler, would you directly generate machine code, or use a library such as LLVM? Is there a reason C# would be better for the job?

It would be compiled to a .exe file, but it actually goes
Raw -> Lexed -> AST -> C# transpiler -> Visual Studio C# Compiler

Also I quite like C# for readability. Again, just an ideal but if Windows support is fine then I won't bother giving myself the hassle ;-)

I might try something like you said! Make a simple pinecone version with key usability in C#, then write higher level stuff in Pinecone.

Also is importing a thing in Pinecone?

wmww commented

Ah, you want to write a transpiler from Pinecone to C#. Since I already have a Pinecone to C++ transpiler, this should not be necessary. Import is currently supported, as explained here.

Could be for C# and C++ compatibility... that would look nice.

If windows support is ok you need to update your readme in the upcoming features section.

wmww commented

Right you are. Will do.