Live data from Hacker News

Advanced Compilers: Self-Guided Online Course

cs.cornell.edu

61–70 of 241 posts

Re: Advanced Compilers: Self-Guided Online Course

#61

Earlier quoted context omitted.

Not open source but I'm working on a system that turns a DSL (embedded into Jupyter notebooks) into either c or c with opencl for a niche finance application. Not a huge project (<10k lines of code). Nature of the problem means that DSL can be very simple (it's aimed at non-programmers). This approach also means that could easily add other targets - e.g. cuda or wasm.

Awesome. Link?

Thanks and sorry - not open source and in testing with single client at the moment.

Re: Advanced Compilers: Self-Guided Online Course

#62
post #57

Nice, although I'd have wanted a segment on compiler testing.

Indeed; I previously had these papers on the list but had to take them out for time this semester:

- Finding and understanding bugs in C compilers. Xuejun Yang, Yang Chen, Eric Eide, and John Regehr. PLDI 2011. https://dl.acm.org/citation.cfm?id=1993532 - Compiler validation via equivalence modulo inputs. Vu Le, Mehrdad Afshari, and Zhendong Su. PLDI 2014. https://dl.acm.org/citation.cfm?id=2594334

Re: Advanced Compilers: Self-Guided Online Course

#63
post #59

I’ve worked on multiple compilers (optimizations expert) at MSFT on VS and CUDA and gave developed a DSL and worked on Database Compilers. I can’t hire compiler people with right skills. We’re building an IDE and those parsers are written differently, and we use Scala packrat parser combinators. These courses teach very little judgement or industry relevant stuff. When do you use packrat parser vs LALR vs LL? Good lu…

What ressources do you recommend I read, or what I can do, to learn more about applicable compiler knowledge?

Re: Advanced Compilers: Self-Guided Online Course

#64
post #59

I’ve worked on multiple compilers (optimizations expert) at MSFT on VS and CUDA and gave developed a DSL and worked on Database Compilers. I can’t hire compiler people with right skills. We’re building an IDE and those parsers are written differently, and we use Scala packrat parser combinators. These courses teach very little judgement or industry relevant stuff. When do you use packrat parser vs LALR vs LL? Good lu…

[deleted]

Re: Advanced Compilers: Self-Guided Online Course

#65
post #32
post #8

What would be some cool use cases to design your own compiler?

The simplest case where they prove useful is usually when your regex is longest than 20 characters. Write a parser once, and it'll be readable to people other than yourself (if it isn't your schema is bad)

Seems a pity to throw out the various advantages of the high-level solution just because your regex engine doesn't support a scalable syntax.

Advanced regex systems such as the Ragel parser-generator support a composition-friendly syntax, [0] but the average regex system doesn't, and I guess there's no quick fix for that.

[0] http://thingsaaronmade.com/blog/a-simple-intro-to-writing-a-...

Re: Advanced Compilers: Self-Guided Online Course

#68
post #19
post #12

On the related note, what would you guys recommend as an introduction to compilers, say for beginners?

Compilers books: I'd start with "Engineering a Compiler" by Keith Cooper and Linda Torczon. http://craftinginterpreters.com/ is also a pretty great, programming-oriented intro, which may be good to work through alongside. For more on the analysis & compiler optimization side, "SSA-based Compiler Design" ( http://ssabook.gforge.inria.fr/latest/ ; GitHub Mirror: https://github.com/pfalcon/ssabook ) is a good follow-up.…

Thank you so much for this comment. It's incredibly difficult to find modern compiler learning resources – when I ask, I often get disparaging comments about the dragon book and not much more.

Please, consider putting this list on your blog, or somewhere more visible than a HN comment.

Re: Advanced Compilers: Self-Guided Online Course

#69
post #59

I’ve worked on multiple compilers (optimizations expert) at MSFT on VS and CUDA and gave developed a DSL and worked on Database Compilers. I can’t hire compiler people with right skills. We’re building an IDE and those parsers are written differently, and we use Scala packrat parser combinators. These courses teach very little judgement or industry relevant stuff. When do you use packrat parser vs LALR vs LL? Good lu…

Do you think it is the responsibility of academia to teach "industry relevant stuff"? I agree that courses generally don't teach judgement well, but I do think that it is the workplace/industry's responsbility to train their engineers and not expect fresh grads to be fully equipped to work on something that specific.

Re: Advanced Compilers: Self-Guided Online Course

#70
post #59

I’ve worked on multiple compilers (optimizations expert) at MSFT on VS and CUDA and gave developed a DSL and worked on Database Compilers. I can’t hire compiler people with right skills. We’re building an IDE and those parsers are written differently, and we use Scala packrat parser combinators. These courses teach very little judgement or industry relevant stuff. When do you use packrat parser vs LALR vs LL? Good lu…

> These courses teach very little judgement or industry relevant stuff.

Hasn't that been the debate for, like, ever?

Should the universities teach you how to learn or should they teach you how to hit the ground running at your first post-graduation job?

I'd say anyone who took phd-level courses on compiler design shouldn't take too much training to become a valuable team member as they've proven they can learn what is important for the given task but maybe that's just my uninformed opinion.

Post reply on HN