profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/bobot/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
François Bobot bobot CEA LIST Orsay, France

backtracking/creal 12

An exact real arithmetic (aka constructive reals) for OCaml

bobot/FetedelascienceINRIAsaclay 5

Fête de la science INRIA saclay

bobot/cmdliner 1

Declarative definition of command line interfaces for OCaml

bobot/CVC4.old-svn 1

CVC4 is an efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems.

bobot/dolmen 1

An OCaml library providing clean and flexible parser for languages used in automated deduction

bobot/AbSolute 0

Constraint solver based on abstract domains

bobot/asciidoctor.org 0

:globe_with_meridians: Asciidoctor project site. Composed in AsciiDoc. Baked with Awestruct.

bobot/calendar-cli 0

Simple command-line CalDav client, for adding and browsing calendar items, todo list items

bobot/camlhighlight 0

Camlhighlight provides syntax highlighting facilities for Ocsigen applications

pull request commentocaml/dune

`vmthreads` only exists in OCaml < 4.09

The test is failing because of result. Our definition is different from the one from ocamlfind because we are not including the directory result. But I don't understand why it should fail since it is in the stdlib.

nojb

comment created time in 10 hours

pull request commentocaml/dune

`vmthreads` only exists in OCaml < 4.09

The change is good to me. By curiosity, the last files installed by ocamlfind and not in dune builtins are: camlp4.310, num-top, raw_spacetime, camlp4.309, dbm, labltk, ocamlbuild.

If you have time, could you take a look at what are the remaining information from ocamlfind that dune is using ? And document it? Otherwise I need to add an issue for me to do it before 3.0.

nojb

comment created time in 10 hours

pull request commentocaml/dune

Hide private libraries in odoc listings

Can we still have them somewhere? For development documentation of private-libraries is nice. In a directory default/doc-private/index.html?

(Also but very orthogonal, some doc generation frameworks add a link in the form of file://..../index.html at the end of the build so that one can easily open the doc. But I don't know how we can determine when we should show it).

rgrinberg

comment created time in 15 hours

issue commentocaml/dune

Developing multiple projects 'inline'?

  1. For installing dependencies for development you should use opam install --deps-only . . So that both opam files are taken into account and more importantly both packages will not be lookup for installation.

  2. dune build -p myproject is specially designed for separate build and installation of the package. So myproject-types must be installed before building myproject.

anchpop

comment created time in 15 hours

issue commentocaml/dune

Scan dune-projects in subdirectories to collect dependencies before generating `.opam` file

I like the deduplication of the dependencies of the vendored projects. I don't like the reuse of the depends field, we can add a vendors field.

However vendored project have other problems more urgent such as #3734. So it is a nice idea to look at, but during or after this issue. (FYI @rgrinberg).

anchpop

comment created time in 4 days

create barnchbobot/opam-repository

branch : why3-coq-1.4.0-coq-8.13

created branch time in 4 days

PR opened ocaml/opam-repository

[Why3] why3-coq 1.4.0 supports coq 8.13*

The support of coq 8.13 was added in why3-coq version 1.4.0

@silene @vprevosto

+1 -1

0 comment

1 changed file

pr created time in 4 days

created repositorybobot/fabric-chaincode-ocaml

OCaml support for smart contracts in Hyperledger Fabric

created time in 6 days

create barnchbobot/fabric-chaincode-ocaml

branch : main

created branch time in 6 days

issue commentocaml/dune

Scan dune-projects in subdirectories to collect dependencies before generating `.opam` file

Vendored dependencies doens't have to be added to the depends field.

Root-level dune-project could contain multiple packages, we can't determine in which one we need to add the dependencies. In order to catch during development missing package dependencies, we think the current best plan is to check during build if the dependencies are correct #4109 .

anchpop

comment created time in 6 days

pull request commentocaml-ppx/ocamlformat

[Indent] use ocp-indent when ocamlformat is deactivated

@gpetiot #1814 could make this PR obsolete, but it could still be useful for outputting better information in disabled case.

bobot

comment created time in 6 days

pull request commentocaml-ppx/ocamlformat

Only hook ocamlformat mode on tuareg/caml modes when ocamlformat is not disabled

It seems to work. Thanks!

gpetiot

comment created time in 6 days

Pull request review commentocaml-ppx/ocamlformat

Only hook ocamlformat mode on tuareg/caml modes when ocamlformat is not disabled

 With ARG, perform this action that many times."     t     split-string-default-separators))) -(add-hook 'tuareg-mode-hook 'ocamlformat-setup-indent t)-(add-hook 'tuareg-mode-hook 'ocamlformat-set-newline-and-indent)-(add-hook 'caml-mode-hook 'ocamlformat-caml-mode-setup t)-(add-hook 'caml-mode-hook 'ocamlformat-set-newline-and-indent)+(defun ocamlformat--add-hooks ()+  "Link ocamlformat with tuareg-mode and caml-mode."+  (progn+    (add-hook 'tuareg-mode-hook 'ocamlformat-setup-indent t)+    (add-hook 'tuareg-mode-hook 'ocamlformat-set-newline-and-indent)+    (add-hook 'caml-mode-hook 'ocamlformat-caml-mode-setup t)+    (add-hook 'caml-mode-hook 'ocamlformat-set-newline-and-indent)))++(pcase ocamlformat-enable+  ;; never hook+  ('disable '())+  ;; always hook+  ('enable-outside-detected-project (ocamlformat--add-hooks))+  ;; only hook if there is an .ocamlformat file at the root of the project+  ('enable+   (if (file-exists-p (concat default-directory ".ocamlformat"))+    (ocamlformat--add-hooks))))

Is it not too restrictive? The .ocamlformat can be in a parent directory, no?

gpetiot

comment created time in 6 days

PullRequestReviewEvent

issue commentocaml/dune

redirect output on windows

When an errors occur in an action, dune tries to print a script that allows to run in a shell the action with all the redirections specified. So the script can be wrong but it is not used in dune.

hhugo

comment created time in 10 days

PR opened ocaml-ppx/ocamlformat

[Indent] use ocp-indent when ocamlformat is deactivated

Fixes #1792 . If ocamlformat is disable directly use ocp-indent for indentation instead of still trying to parse it.

But no tests have been added.

+10 -6

0 comment

1 changed file

pr created time in 10 days

create barnchbobot/ocamlformat

branch : when_disabled_use_ocp_indent

created branch time in 10 days

issue commentocaml-ppx/ocamlformat

Bug: In emacs, indentation in project where ocamlformat is not activated

Strangely I don't have anymore the bad behavior, I need to look at it more.

bobot

comment created time in 11 days

pull request commentocaml/dune

[install_rules] Allow for stanzas to install files in different packages

That's simpler, this does just remap files to a different .install file; rules are the same.

So the stanza would be activated for the -p of both package? It should work for binaries but I don't know how we can generalize that. Compiling/Installing part of the dune-project is already complicated so I'm quite nervous of such changes. The main difficulty is to know when to use the local version and when to use the installed version that was already installed. The stanza <-> package relationship helps to deactivate the stanzas and so the installed version of the deactivated library stanza are used.

In your case with a

(coq
    (package coq-why3-native for native)
    (package coq-why3 for byte)
    (theory coq-why3))

The behavior of the stanza is not only activated/deactivated but partially deactivated since the .vo shouldn't be produced but lookup in the installation directories. So it means that coq-why3 should be at the same time installed (byte part) and not installed (native part). So resolution of the location of the library is not uniq which add complications. Do you see my worries?

ejgallego

comment created time in 12 days

issue commentocaml/dune

modification time of .cmt files

What would be the limit? Should it be done for all the files produced by dune? Moreover time based decisions are very doggy as new build system learnt.

However dune knows which files are up-to-date or not. Interacting by RPC with dune could give this information and others.

zoggy

comment created time in 12 days

issue commentocaml/dune

watch mode: inotify_add_watch: vmthreads: no such file or directory

Yes, we should clarify in the documentation which META files dune uses and which configuration information it uses.

emillon

comment created time in 12 days

issue commentocaml/dune

watch mode: inotify_add_watch: vmthreads: no such file or directory

The vmthreads library was removed from the compiler in 4.09, however the META file installed by ocamlfind for threads wasn't updated. This should be fixed in ocamlfind.

Can't we use Meta.builtins also when ocamlfind is installed?

emillon

comment created time in 13 days

pull request commentocaml/dune

[install_rules] Allow for stanzas to install files in different packages

For example, this implies that Dune_file.stanza_package stanza is not canonical anymore.

How does that would compose with -p? Half of the stanza is disabled?

Distributions such as Debian like to split packages in -doc, -dev, and -dbg variants.

I don't understand the debian argument, as I understand: Debian uses one source package, compile it once, install it using $DESTDIR in a directory, split the files into different package. I don't see how we can help them.

For opam I don't understand what happen at the end. If something depends on coq and coq-native, coq is compiled twice?

ejgallego

comment created time in 18 days

issue commentocaml/dune

dune install -p <pkg> requires every packages from the project to be installed, not just <pkg>

It is indeed not taken into account and it should. But I wonder if there is a meaningfull difference between dune install ocluster and dune install --only-package ocluster, and I think that --release has no effect for the install command.

kit-ty-kate

comment created time in 19 days

pull request commentocaml/dune

Unambiguous and futur proof commandline?

But it is already the case that we have ambiguity with only positional argument and option with required value: --foo bar can be a flag and a positional argument or an option with a required value.

bobot

comment created time in 19 days

pull request commentocaml/dune

Unambiguous and futur proof commandline?

Re: "-x=foo", this creates another ambiguity because as far as I understand it parses as the value "=foo" for required options, so same syntax to describe a different value. Seems undesirable.

In the current PR required options also must use the =foo. which is a breaking change that I doesn't make clear enough. So no -lmath as in gcc. Another possibility is to forbid optional value with short option.

bobot

comment created time in 19 days

pull request commentocaml/dune

Add cmt files to `public_cmi` dir

Do we already play with symlink in this part of the code? Would it be simpler to just put the cmt[i] directly there? Oh no is it because we don't choose where the compiler put the files?

voodoos

comment created time in 20 days

issue openedocaml-ppx/ocamlformat

Bug: In emacs, indentation in project where ocamlformat is not activated

Describe the bug Normally if ocamlformat is not activated in a project, it is transparent. For exemple a formatting save-hook in emacs will not break in a project where no .ocamlformat is present: no formatting is done. However since perhaps #1639 and #1687 indentation is not done if no .ocamlformat is present. Since it seems to take priority over ocp-indent hooks, the effect is to disable indentation.

How to Reproduce Steps to reproduce the behavior:

  • install only ocp-indent, user-setup
  • indentation works in OCaml files in a project without any .ocamlformat
  • install ocamlformat 0.19 and require it in emacs configuration

created time in 21 days

issue commentdbuenzli/cmdliner

Support for auto-completion

We might actually need two options, one for denoting the insertion point right after a printable char and one for after whitespace for later trying to complete option arguments and positional argument

It could be simpler if the empty string is used when completing after a whitespace. --short --cmdliner-finish would be --cmdliner=--short and --short --cmdliner-start would be --short --cmdliner=. It seems that in all the frameworks getting the current option completed is simple, having to handle two different calling methods would be more complicated.

Would that be useful for writing these completion script ?

It would be clearly helpful, it is similar but simpler than 0install method pointed by @talex5 .

Would that enable to write them in a generic manner ?

It seems that in 0install they have to handle in OCaml some differences between the shell https://github.com/0install/0install/blob/master/src/cli/completion.ml#L185 . But it could be only in more complicated cases.

dbuenzli

comment created time in 22 days

issue commentdbuenzli/cmdliner

Support for auto-completion

Ah I see. If things are static, why do you prefer a structured format instead of an OCaml API? I though the --cmdliner argument would be kept for dynamic queries, such as ultimately resolving the existing package for opam install completion.

dbuenzli

comment created time in 25 days