Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was working on a 30kloc compiler written in OCaml:

- No IDE, I was happily using Vim but many of my coworkers were using Emacs. What helped a lot was Merlin, so I could print the types of the identifiers. This was much more useful than any REPL or IDE I have ever used.

- Debuggers: didn't use much, ocamldebug was an okay experience at best

- Linters: did not use. Most of the LOC were simple enough to just be obvious.

- Deployment: it was a Makefile which took about a minute to build the compiler from scratch. I guess that by using a proper OCaml build system we could've sped things up by requiring less recompilation but it was fine. In the end a binary fell out and could be used however.

I liked the development experience a lot, once it compiled it was reasonably clear that it would work as expected, expanding the compiler was very nice since every time I added a new variant, the compiler complained where I need to add code and then it just worked. We had the advantage that we already had our own mini standard library, so most missing utility functions were already in place when I joined.



> - Linters: did not use. Most of the LOC were simple enough to just be obvious.

I imagine an hlint like linter might be useful, and could give you information about common programming patterns. (Ie hlint tells you when you could be using foldr instead of an explicit recursion.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: