Project Description

Similar to YAML::LibYAML::API and YAML::XS it would be nice to have a Perl binding to libfyaml.

libfyaml is a modern alternative to libyaml that passes all current YAML 1.2 tests from the official YAML Test Suite, see the matrix.

Goal for this Hackweek

Goal: be able to run a very basic function using libfyaml's event parsing API with perl XS.

Resources

Looking for hackers with the skills:

yaml libyaml perl libfyaml

This project is part of:

Hack Week 22

Activity

  • almost 2 years ago: tinita started this project.
  • almost 2 years ago: tinita added keyword "perl" to this project.
  • almost 2 years ago: tinita added keyword "libfyaml" to this project.
  • almost 2 years ago: tinita added keyword "yaml" to this project.
  • almost 2 years ago: tinita added keyword "libyaml" to this project.
  • almost 2 years ago: tinita originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Create object oriented API for perl's YAML::XS module by tinita

    Description

    YAML::XS is a binding to libyaml and already quite old, but the most popular YAML module for perl. There are two main issues:

    • It uses global package variables to influence behaviour.
    • It didn't implement the loading of types like numbers and booleans according to the YAML spec (neither 1.1 nor 1.2).

    Goals

    Create a new interface which works object oriented. Currently YAML::XS exports a list of functions.

    • The new API will allow to create a YAML::XS object containing configuration influencing the behaviour of loading and dumping.
      • It keeps the libyaml parser and emitter structs in memory, so repeated calls can save the creation of those structs
    • It will by default implement the YAML 1.2 Core Schema, so it is compatible to other YAML processors in perl and in other languages
    • If I have time, I would like to add the merge << key feature as an option. We could then use it in openQA as a replacement for YAML::PP to be faster.

    I already created a proof of concept with a minimal functionality some weeks before this HackWeek.

    Resources

    • Work is currently happening on the oop branch


    Create object oriented API for perl's YAML::XS module by tinita

    Description

    YAML::XS is a binding to libyaml and already quite old, but the most popular YAML module for perl. There are two main issues:

    • It uses global package variables to influence behaviour.
    • It didn't implement the loading of types like numbers and booleans according to the YAML spec (neither 1.1 nor 1.2).

    Goals

    Create a new interface which works object oriented. Currently YAML::XS exports a list of functions.

    • The new API will allow to create a YAML::XS object containing configuration influencing the behaviour of loading and dumping.
      • It keeps the libyaml parser and emitter structs in memory, so repeated calls can save the creation of those structs
    • It will by default implement the YAML 1.2 Core Schema, so it is compatible to other YAML processors in perl and in other languages
    • If I have time, I would like to add the merge << key feature as an option. We could then use it in openQA as a replacement for YAML::PP to be faster.

    I already created a proof of concept with a minimal functionality some weeks before this HackWeek.

    Resources

    • Work is currently happening on the oop branch