package comby

  1. Overview
  2. Docs
A tool for structural code search and replace that supports ~every language

Install

Dune Dependency

Authors

Maintainers

Sources

comby-kernel.1.7.0.tar.gz
md5=ee6556d8bd9b25ed0445ebe23862e48a
sha512=e6386c8ce5ef14bbcab2b0ead5b1edc39375438f56330d5f02e81e467afe6623a7e299f97f26008d77bbc62850c6dc63a7cbe5b81671b5183ff3adeee5946bb3

doc/src/comby.pipeline/parallel_parany.ml.html

Source file parallel_parany.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
open Configuration
open Command_input

let process_interactive ~f paths number_of_workers =
  let reduce (acc, c) (path, result) =
    match result with
    | Some rewritten_source, c' ->
      Interactive.{path; rewritten_source}::acc, c+c'
    | None, c' ->
      acc, c+c'
  in
  let init = ([], 0) in
  let map path = path, f ~input:(Path path) ~path:(Some path) in
  Parany.Parmap.parfold ~csize:16 number_of_workers map reduce init paths

let process ~f number_of_workers _bound_count sources =
  match sources with
  | `Paths paths ->
    Parany.Parmap.parfold ~csize:16 number_of_workers (fun path -> f ~input:(Path path) ~output_path:(Some path)) (+) 0 paths
  | `Zip _ -> failwith "Not supported"
OCaml

Innovation. Community. Security.