News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Jani Hartikainen:
Parsing and evaluating PHP in Haskell Part 1
January 17, 2013 @ 11:13:23

Jani Hartikainen has posted the first part of a series of articles sharing his experiences with an experiment he's conducting - trying to parse and evaluate PHP in Haskell.

The other day I uploaded a new experimental project on GitHub - A Haskell PHP parser / evaluator. It doesn't understand 100% of all PHP syntax, but it was an interesting experiment nevertheless. Here's some insights and other thoughts from working on the code.

He gets the "why?" question out of the way early, noting that it was mainly a desire to play with Haskell and figured parsing something he already knew well was a good first project. He also mentions the "Parsec" library that seems well suited for the parsing part of the process. There were some issues that he came across, however including dealing with PHP's weak typing and handling all of the possible incarnations of PHP script structure. He includes an example AST showing his different data structures (PHPValue, PHPExpr and PHPStmt). The next part of the series will be more about the evaluation of this structure.

0 comments voice your opinion now!
parsing evaluation source haskell project experiment


blog comments powered by Disqus

Similar Posts

Symfony-Zone: HelloWorld example with Flex and Symfony

William Candillon's Blog: PHP source code analysis: PHPCompiler versus Yaxx

PHPMaster.com: Compiling PHP from Source on Windows

Community News: Packt Open Source CMS Award Finalists Announced

Paul Jones' Blog: "Organizing Your PHP Project" Slides Available


Community Events





Don't see your event here?
Let us know!


opinion developer community introduction threedevsandamaybe list testing interview code framework language release series refactor podcast unittest configure install laravel experience

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework