plume-lang / plume

Plume is a lightweight programming language that aims to be portable, powerful and easy to learn.
MIT License
12 stars 2 forks source link

Performance issue with parsing #6

Closed thomasvergne closed 5 months ago

thomasvergne commented 5 months ago

Describe the bug Compiling little projects can take up to 10-15 seconds due to parsing slowness. The generated flamegraph shows bad performance on makeExprParser from megaparsec.

Additional context This may be due to the extra use of Haskell native lists which are very slow in performance context. So we may replace it with other List-like types such as Sequence, Set, or SortedList.