Hacker News new | past | comments | ask | show | jobs | submit login

Those are just signatures, what is going on inside the boxes?

Also, how does one encode iterative computation, like a data-flow analysis, in Haskell? And symbol tables? Is it sufficient that the symbol table is encapsulated within compile even if it involves dictionary read/writes? I'm genuinely curious.




Inside the boxes, you might use a (State SymbolTable) monad to carry around the symbol table:

  type SymbolTable = Map String Symbol
Me and a codeveloper are working on a type system in Haskell, where our current code has iterative computation, until it reaches a fixpoint.

Here's the iterative code:

https://github.com/Peaker/lamdu/blob/master/Lamdu/Data/Expre...

If you need to internally carry state, you just use a State monad to thread around the state purely.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: