Skip to content

jzw2/rust-capr

Repository files navigation

A Capr like system written in rust

Capr like system but with improvements

Try here.

Installation

You first need wasm-pack and cargo. Also you need yarn and parcel for the front end. Run

wasm-pack build --target web

Then do yarn run parcel index.html to start a server.

Progress

Current goal is to get a functional system that is able to do the bare minimum of Capr.

  • Specficaiton of sound laws
    • Specification of sound classes for use with sound laws (ie features such as palatal, voiced, liquid etc)
  • Apply laws of proto form to get modern reflex
  • Apply laws backwards to get potential proto form.

(Potential) Goals

More user friendly sound law inputs

Ideally, the user should be able to input sound laws without having to learn the fst formalism.

Modelling wave like approaches

Using FSTs are quite general and is not restricted to the tree model. The wave model can also be used as long as the sound laws are at least somewhat regular.

Non determinism in sound laws

As long as there is some regularity, the FST should also be able to generate all output froms if a sound law can be specified. This will ideally be able to output doublets in romance.

Current Limitations

  • Parallel substitutions is not supported
  • Only upper, upper substitution is supported

Design

Most of the infastructure is built on top of the library rustfst which is largely openfst written in rust. The replacement operator was surprisingly non trivial, and most code has been adapted from hfsts c++ implementation. The rust creates a web assembly package which is then run in the browser.

Similar projects

About

Capr implemented in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •