Add OCaml
This commit is contained in:
parent
07349b3c15
commit
6cd4269eee
11 changed files with 59 additions and 0 deletions
16
README.md
16
README.md
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
- [C](#c)
|
- [C](#c)
|
||||||
- [C++](#c-1)
|
- [C++](#c-1)
|
||||||
|
- [OCaml](#ocaml)
|
||||||
- [Typescript](#typescript)
|
- [Typescript](#typescript)
|
||||||
|
|
||||||
## C
|
## C
|
||||||
|
@ -28,6 +29,21 @@ Copy and paste [`cpp/`](./cpp/) directory, and you should be good to go!
|
||||||
|
|
||||||
> Note that in headers, the syntax is `PROJECTNAME_FILENAME_HPP`
|
> Note that in headers, the syntax is `PROJECTNAME_FILENAME_HPP`
|
||||||
|
|
||||||
|
## OCaml
|
||||||
|
|
||||||
|
Copy and paste [`ocaml/`](./ocaml/) directory, and you should be good to go!
|
||||||
|
|
||||||
|
- Remember to change values in the [`dune-project`](./ocaml/dune-project).
|
||||||
|
- **Run `dune exec example` to run the program.**
|
||||||
|
- **Run `dune runtest` to run tests.**
|
||||||
|
|
||||||
|
> Example of custom repository source:
|
||||||
|
>
|
||||||
|
> ```dune
|
||||||
|
> (source
|
||||||
|
> (uri https://dev.example.com/project.git))
|
||||||
|
> ```
|
||||||
|
|
||||||
## Typescript
|
## Typescript
|
||||||
|
|
||||||
Copy and paste [`typescript/`](./typescript/) directory, and you should be good to go!
|
Copy and paste [`typescript/`](./typescript/) directory, and you should be good to go!
|
||||||
|
|
1
ocaml/.gitignore
vendored
Normal file
1
ocaml/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/_build
|
1
ocaml/.ocamlformat
Normal file
1
ocaml/.ocamlformat
Normal file
|
@ -0,0 +1 @@
|
||||||
|
profile = janestreet
|
4
ocaml/bin/dune
Normal file
4
ocaml/bin/dune
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
(executable
|
||||||
|
(public_name example)
|
||||||
|
(name main)
|
||||||
|
(libraries example))
|
3
ocaml/bin/main.ml
Normal file
3
ocaml/bin/main.ml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
open Example.Hello
|
||||||
|
|
||||||
|
let () = print_endline hello_world
|
24
ocaml/dune-project
Normal file
24
ocaml/dune-project
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
(lang dune 3.10)
|
||||||
|
|
||||||
|
(name example)
|
||||||
|
|
||||||
|
(generate_opam_files true)
|
||||||
|
|
||||||
|
(source
|
||||||
|
(github username/reponame))
|
||||||
|
|
||||||
|
(authors "YOU")
|
||||||
|
|
||||||
|
(maintainers "YOU")
|
||||||
|
|
||||||
|
(license AGPL-3.0-or-later)
|
||||||
|
|
||||||
|
(package
|
||||||
|
(name example)
|
||||||
|
(synopsis "A short synopsis")
|
||||||
|
(description "A longer description")
|
||||||
|
(depends ocaml dune)
|
||||||
|
(tags
|
||||||
|
(topics "to describe" your project)))
|
||||||
|
|
||||||
|
; See the complete stanza docs at https://dune.readthedocs.io/en/stable/dune-files.html#dune-project
|
0
ocaml/example.opam
Normal file
0
ocaml/example.opam
Normal file
3
ocaml/lib/dune
Normal file
3
ocaml/lib/dune
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
(library
|
||||||
|
(name example)
|
||||||
|
(modules hello))
|
1
ocaml/lib/hello.ml
Normal file
1
ocaml/lib/hello.ml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
let hello_world = "Hello, world!"
|
3
ocaml/test/dune
Normal file
3
ocaml/test/dune
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
(test
|
||||||
|
(name test)
|
||||||
|
(libraries example))
|
3
ocaml/test/test.ml
Normal file
3
ocaml/test/test.ml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
open Example.Hello
|
||||||
|
|
||||||
|
let () = assert ("Hello, world!" = hello_world)
|
Loading…
Reference in a new issue