Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Is Devel::Declare really so much less evil than source filters?

by BrowserUk (Patriarch)
on Apr 05, 2010 at 20:27 UTC ( [id://832907]=note: print w/replies, xml ) Need Help??


in reply to Is Devel::Declare really so much less evil than source filters?

So far I'm less than impressed.

  • The docs are awful. Mixing up builtin apis with documentation-only 'add-ons'.
  • The interface is eclectic to say the least. Some apis have to be called as class methods, others as subroutines. Neither are documented.

    setup_for() & toke_scan_word() have to be called as class methods, all the rest (that i've tried) as subroutines.

  • It kinda works if all your syntax is contained within one line, but gets messy (if not impossible), if it spreads over multiple lines.
  • It doesn't handle nested syntax. Eg. switch( $n ){ case 1:{...} case 2:{...} }

    It has a routine to parse nested tokens, but if you replace the switch leaving the cases as is, it doesn't call the case handler.

    If the syntax above is spread over multiple lines, you can replace the header of the switch okay. Then the case handler is called, but there is no way to tidy up the closing brace of the switch.

Source filters are easier to write and understand. Shame. It looked very interesting (to me).


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://832907]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (3)
As of 2024-04-20 14:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found