0

I would like to write a parser for a typesetting language I am helping to develop.

I haven't coded anything in many years and while looking at various language options I came across Dylan.

It looks like a very interesting language to work with - the syntax is clean, it looks rather simple to use, can be used dynamically.

How well-suited would Dylan be for this project?

My idea was to put it on Github so that others can contribute or improve my code (it's been a while!). But everyone seems to be using Lua.

Would I be all alone on this if I choose to develop in Dylan?

I would have to learn Dylan or Lua regardless of which I choose. But it does seem like everyone knows how to program in Lua these days.

Regards

1 Answers1

1

If a key requirement is that you want other people to help contribute then Dylan probably isn't the best choice. It's not used much so you'll find less help than with other choices.

Arguably the most popular dynamic language currently is Python. It's very well supported, lots of docs, tutorials and has plenty code examples available on GitHub etc.

Lua is quite popular though less so than Python. It's not the case that most people are coding in it. It's pretty niche, mostly used in games and for scripting generally but it is a very nice, simple but powerful language. I happen to like it a lot.

If you do want to go the Dylan route but want more active support then you may want to look at Julia. It's pretty new but is a clear descendent of Dylan. It's primary purpose is scientific computing but it has most of the components to help write a clean parser e.g. Union types. It's also pretty quick which may be of use depending on what you're actually going to do with the parser.

And that leads me to my final point. You can write a simple parser in most languages without too much difficulty. The right choice of language will more likely depend on other things e.g. How fast must it run? how many platforms must it support? Will it be embedded in other code e.g. A web stack? Java? These decisions will likely narrow the field substantially.

Alex
  • 1,017
  • 5
  • 11
  • Thank you for your comments and recommendations Alex. I will certainly have a look at Julia. Python was another option. Since it has been a while since coding anything I would want something that is well documented. It should also be fast. The idea is to be able to parse large documents (i.e. book length). The idea is to create a higher level language that would generate groff code. It should be portable - to be used on any platform (windows, mac, linux). But if I remember correctly, it's possible to generate c code from Python if I'm not mistaken. – user3908316 Aug 05 '14 at 20:01
  • oooo, Julia does look very nice. I forgot, I need unicode support to be able to process international text. I see Julia has full utf-8 support. – user3908316 Aug 05 '14 at 20:15
  • I don't believe that either Python or Julia can currently produce C code. TBH you'd likely have problems with library use even if you could. Interestingly Julia uses LLVM as a JIT engine and LLVM does have a c code backend. However, it would need to be explicitly supported by the Julia code generator which I don't believe is currently the case. – Alex Aug 07 '14 at 11:16