News for hackers. Stuff that matters.
Re:Why ML/OCaml are good for writing compilers (1998) by scythe on Saturday April 15, 2017 @10:12PM (#14123988)
Like C++ and Perl, there's a bit of caution required to avoid writing unreadable OCaml code. A disadvantage of pattern matching is that it's relatively easy to write a function where you define a variable and then first access it 500 lines later. IDE support for obscure languages is also often weak or requires extensions or idiosyncratic IDEs which are unfamiliar to many people (and often you want some kind of tool to collapse a 500-line function). OCaml has good vim plugins but not everyone uses vim.

That's my experience with it anyway.

Re:Why ML/OCaml are good for writing compilers (1998) by wtetzner on Sunday April 16, 2017 @12:59PM (#14126417)
> A disadvantage of pattern matching is that it's relatively easy to write a function where you define a variable and then first access it 500 lines later.

I've written plenty of OCaml, and I can't see how this would ever be a problem. Are you writing 500 line functions in OCaml? It seems like it would be difficult to write such a long function in OCaml. An why would pattern matching cause it?

Maybe I'm misunderstanding something.

Re:Why ML/OCaml are good for writing compilers (1998) by scythe on Monday April 17, 2017 @02:15PM (#14133143)
> Are you writing 500 line functions in OCaml? It seems like it would be difficult to write such a long function in OCaml.

Me, no; my colleagues, yes. I am averse to writing long functions even more than most people. I agree with 'jldugger that this is a sign that some cleanup is needed but the point is that bad code exists in cool languages too (there are also Mondays in Australia).

Re:Why ML/OCaml are good for writing compilers (1998) by jldugger on Sunday April 16, 2017 @02:19PM (#14126761)
I've done it when writing translators / compilers for school. If you're pattern matching against an AST, its easy to to have a pretty big list of possible types the AST can contain.

Probably this is a code smell that should be rearchitected.

Re:Why ML/OCaml are good for writing compilers (1998) by abhirag on Sunday April 16, 2017 @05:05PM (#14127503)
Haven't used OCaml but the recommended practice in Erlang/Elixir is to break down complex pattern matches into separate function clauses, as function calls are also driven by pattern matching.