Luca Saiu — projects
      [still incomplete]
    
    
      [FIXME: write this]
    
    
      This page is not ready yet.  The hacks page has a little
      more information of some of these.
    
    
    
    
    GNU Jitter
    
      Jitter is a generator of efficient language virtual machines.
      
      I started what became Jitter as an attempt to optimise
      GNU epsilon.
      Jitter has now evolved into an interesting project, useful on its own;
      it has itself been approved as a separate GNU project in December 2021.
    
    
      There used to be a web page for Jitter on this server, but I moved the
      main web site for Jitter
      to gnu.org.  It is still written by me.
    
    
      This web site still contains the master copy of two important Jitter
      resources:
    
    
    
    
    
    GNU epsilon
    
      [FIXME: write this]
    
    
      Of course there is a page about epsilon
      on the GNU project web site.
    
    
      My PhD thesis is not a
      replacement for actual documentation (which I have not written
      yet), but it may be a nice way of understanding the philosophy
      behind epsilon.
    
    
    
    
    Vaucanson
    The Vaucanson project has
    a web page at LRDE-EPITA;
    its official web site
    contains less information.
    
    
    
      
        - 
          Started reference manual, including a script to seamlessly
          include IPython notebooks from LaTeX.
          [not on master]
        
- 
          Implemented functional interface vcsn.functional [not on master]
        
- 
          generalize is_deterministic into is_sequential; make
          is_deterministic use is_sequential with an additional
          precondition which causes failure (and not a false result)
          on violation
          [not on master]
        
- 
          rational series polynomials as a weightset
        
- 
          minimal quotient
          
            - Moore's algorithm (only for lal DFAs)
- A variant based on state signatures, for any Boolean weightset
- A variant based on state signatures, for any weightset
 
- 
          Implement subset automaton decorator (later renamed
          into partition automaton) for quotient results
        
- 
          automaton (programmatic) editing [not on master]
        
- 
          ratexpset: generalize by adding support for identities as
          parameters; use this to implement series
        
- 
          is-isomorphic
          
            - Efficient algorithm for the sequential case, O(|Q|)
- Non-sequential case, O((|Q|+1)!), optimised with
              signatures and made efficient in many practical cases
 
- 
          misc: support for generic hashing and comparison, to be used
          for STL containers with weights or labels as keys.
          Generalize to tuplesets.
        
- 
          lal automaton product: major optimization, exploiting transition ordering in sort output
        
- 
          automaton sort
          
 Don't renumber states when outputting an automaton.  Add a new "sort"
          algorithm to fo exactly that, on demand; numbering is breadth-first,
          following label order when numbering the successors of the same state.
          Update Tafkit to always sort printed automata; *don't* do that in the
          C++ and Python interfaces.  Fix expected results in the testsuite.
- 
          labelset: add size method to every labelset, particularly
          for use in ratexp comparison; use syntactical complexity in
          the ratexp case
        
- 
          improve ratexp printing, omitting some parens; out chosen
          syntax doesn't allow printing a minimally-parenthesised expression
        
- 
          major (invasive) change in ratexp representation, turning
          left and right weights into separate AST nodes.
        
- 
          istream input: factor common failure code
        
- 
          q weight parsing: bugfixes in a couple subtle cases
        
- 
          product: require is_commutative from the weightset
        
- 
          weightsets: define is_commutative_semiring
        
- 
          implement shuffle product and infiltration product; factor common code with product
          [later renamed into conjunction]
        
- 
          miscellaneous minor changes or bugfixes:
          
            - tupleset: add is_commutative_semiring 2abf27aa87627328d2b416b2ad77f4bb740972fb
- GCC bug workaround: dad7475d2c94830fe3b9059e28e9b3bc3367382b
- bin/vcsn-score: remove -u shebang option, unsupported by some shells c81f06c2bda1ba3c2fee18671d26938ea80dfcc5
- right-mult: implement correctly (reported by Jacques Sakarovitch); the implementation itself is quite trivial 69e70cac37c7aae7041c80bb5e2ce0fa06f77e7e
- remove tafkit scoresuite 86ba8c00a03ddbc545af18924a5aaae177b51fbf
- info in Python: correctly write boolean values e2df6ab5bfe120a58b6a7080ebe53ae5c5070b99
- add missing NEWS item d528b82a7f047795ffabd71ea603ce11c073a4e1
- wrap is_accessible and is_coaccessible in Python: c9da09d355273a10bc3d5ab0390827197451f1cb
- info: add a forgotten initialization 85f891a5b9adb28d6ed24f42350ede7457f84277
- fix configure buglet e36cae523e62cd5dda8230f4fb2b17dc6b83136d
- boolean weight parsing: bugfix and refactoring b7e88f623c2535f1df511bbafa0d74740674d1f5
- add more attribute macros 863e511107a1c2900c03e75e6bfd197ffd1ed227
- benchmark product 065ffd663b8f26b0253320b599fbb19b2de5d22d
 
    
    
    Marionnet
    
      Marionnet has its own web site.
    
    
      The other co-author is Jean-Vincent Loddo.
    
    
      [FIXME: write this]
      
    
      2012 poster by Jean-Vincent Loddo (in French, PDF, 4.3MB).
    
    
      Marionnet is now also packaged by debian, on jessie and sid.
    
    
    
    
    A simple kernel hack: Ghostification
    
      [FIXME: write this: history, and a link to the current version]
    
    
      [2013-07-01]
    
    
    
    
    Multi-runtime OCaml
    
      [FIXME: write this]
    
    
      
        I used to work at
        
        INRIA Saclay,
        under the supervision of Fabrice Le Fessant;
        first in the ASAP team, then
        in Gallium.
      
    
    
    
    
    NAUSEA
    
      There is a screenshot gallery of the
      NAUSEA client.
    
    
      [FIXME: write this: history, and a link to the current version.
        With Dario Russo]
      The home page, with very little information, is here.
    
    
    
    NAUSEA Logos
    
      A simple NAUSEA world.  With Dario Russo.
      The home page, also with little information and a couple of broken links to fix, is here.
    
    
    
    
    Baroque
    
      [FIXME: write this]
    
    
    
    
    ICFPc
    
      [FIXME: write this.  In 2003 alone, in 2006 with Marco Righi]
    
    
    
    
    Takeshi
    
      [FIXME: write this]
    
    
    
    
    Very early, likely lost
    
      [FIXME: write this]
    
    
    
    
    Other unmaintained hacks
    
      I've collected some information on some of my old or minor hacks in
      a subdirectory.  Unmaintained.
    
    
    
    
      
      
      
      
      
        Copyright © 2012, 2014, 2019, 2021, 2022  Luca Saiu
        Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.