Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate saphe from satysfi #422

Open
wants to merge 400 commits into
base: dev-0-1-0-package-system
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
400 commits
Select commit Hold shift + click to select a range
cc46342
make_font_error_message
kyori19 Mar 20, 2024
3bc19c3
make_error_message and report_and_exit
kyori19 Mar 21, 2024
f66c1b1
ErrorReporting
kyori19 Mar 21, 2024
f6ceaa6
Merge pull request #432 from kyori19/error-reporting
gfngfn Mar 21, 2024
912e94f
modify the store root config format (`ecosystem` -> `saphe`)
gfngfn Mar 24, 2024
ffd48d1
begin to develop `packageReleaseConfig` and `PackageRegistryReader`
gfngfn Mar 24, 2024
6570a08
small refactoring on `PackageReleaseConfig`
gfngfn Mar 24, 2024
a4926f6
implement `PackageRegistryReader`
gfngfn Mar 24, 2024
759dbb2
modify tests for `PackageReleaseConfig`
gfngfn Mar 24, 2024
3ede5f7
update `default-registry-commit-hash.txt`
gfngfn Mar 24, 2024
da16a4a
Merge pull request #433 from gfngfn/modify-registry-format
gfngfn Mar 24, 2024
7650229
take the prerelease part of semvers into account
gfngfn Mar 25, 2024
514a9a9
add tests for `SemanticVersion`
gfngfn Mar 25, 2024
52d5d77
Remove output path from HandlePdf.t
kyori19 Mar 24, 2024
ff9f13c
Separate eval_document_file to BuildDocument
kyori19 Mar 25, 2024
a012961
Merge pull request #434 from gfngfn/support-semver-prerelease
gfngfn Mar 25, 2024
c851c55
Merge pull request #435 from kyori19/build-document
gfngfn Mar 25, 2024
1362c84
add a token `here` for getting the directory path of the source file
gfngfn Mar 25, 2024
eb121ed
add a base type `hyphenation`
gfngfn Mar 25, 2024
4f676e0
add a primitive `set-hyphenation-dictionary`
gfngfn Mar 25, 2024
b944260
fix tests for the parser about paths
gfngfn Mar 25, 2024
98a956b
add primitive `load-hyphenation-dictionary`
gfngfn Mar 25, 2024
c65c318
create package `hyph-english`
gfngfn Mar 26, 2024
8e584da
remove the hardcoded loading operation of `english.satysfi-hyph`
gfngfn Mar 26, 2024
0863969
fix where to put `hyph-english`
gfngfn Mar 26, 2024
6f229f8
use `hyph-english` in document classes
gfngfn Mar 26, 2024
81044d1
remove installation description of hyphenation dictionaries from `ins…
gfngfn Mar 26, 2024
e3b911b
update `default-registry-commit-hash.txt` (register document classes …
gfngfn Mar 26, 2024
230508f
update `default-registry-commit-hash.txt` (fix dependencies of docume…
gfngfn Mar 26, 2024
b1b303d
fix how to convert `here` in the lexer
gfngfn Mar 26, 2024
e64eb99
update `*.saphe.lock.yaml.expected`
gfngfn Mar 26, 2024
891ac43
Merge pull request #436 from gfngfn/dev-how-to-load-files-in-packages
gfngfn Mar 26, 2024
79f28d4
make `ScriptDataMap` and `LineBreakDataMap` tracked by contexts (midway)
gfngfn Mar 26, 2024
a6fd6c2
Merge branch 'dev-0-1-0-separate-saphe-from-satysfi' into dev-unidata…
gfngfn Mar 26, 2024
da0b4cf
add `set-unicode-char-database` and `load-unicode-char-database`
gfngfn Mar 26, 2024
26677d4
introduce package `unidata`
gfngfn Mar 26, 2024
594adfa
add `*.expected` files
gfngfn Mar 26, 2024
2111473
make `install-libs.sh` do nothing
gfngfn Mar 26, 2024
1d21491
update `default-registry-commit-hash.txt` (register `unidata.0.0.1`)
gfngfn Mar 26, 2024
881408b
make document classes use `unidata.0.0.1`
gfngfn Mar 26, 2024
c90b7f2
update `default-registry-commit-hash.txt` (update document classes ab…
gfngfn Mar 26, 2024
999b8dd
update `*.saphe.lock.yaml.expected`
gfngfn Mar 26, 2024
c4ab72a
refactor `FontInfo` slightly
gfngfn Mar 30, 2024
3b223ef
abolish `--base` option (since it's no longer necessary)
gfngfn Mar 30, 2024
b3267cc
remove `install-libs.sh` and `download-fonts.sh`
gfngfn Mar 30, 2024
b50b17c
update READMEs loosely
gfngfn Mar 30, 2024
664ff34
Merge pull request #437 from gfngfn/dev-unidata-package
gfngfn Mar 30, 2024
49346dd
merge `dev-0-1-0-package-system` with conflicts fixed
gfngfn Apr 7, 2024
09889b2
merge `dev-0-1-0-package-system` with conflicts in the CI workflow fixed
gfngfn Jun 22, 2024
1e25deb
allow releases in a registry to depend on other registries
gfngfn Jun 22, 2024
3ee3938
fix existing tests
gfngfn Jun 22, 2024
debf8ee
update tests for external registries
gfngfn Jun 23, 2024
5f3d3d1
support per-release external registries recursively, by introducing `…
gfngfn Jun 23, 2024
3454c3d
add a registry-sensitive test to `PackageReleaseConfigTest`
gfngfn Jun 23, 2024
83c2a3a
add a test `PackageRegistryArrangerTest`
gfngfn Jun 23, 2024
6c55d36
Merge pull request #443 from gfngfn/allow-external-deps-in-registry
gfngfn Jun 23, 2024
2954b0c
set versions to `0.1.0-alpha.1`
gfngfn Jun 23, 2024
1596ccd
update `*.opam` files about versions
gfngfn Jun 23, 2024
4f2bf22
disable tool `genversion`
gfngfn Jun 23, 2024
db41766
replace a version in a test
gfngfn Jun 23, 2024
2b04402
update the version requirement for Saphe in `saphe.yaml`
gfngfn Jun 23, 2024
7bb927c
remove `satysfi.yaml`
gfngfn Jun 23, 2024
8c38571
make `make-package-tarballs.sh` exclude `*.expected` files
gfngfn Jun 23, 2024
5b4c3c4
update `default-registry-commit-hash.txt`
gfngfn Jun 23, 2024
7fe3630
update `salphe.lock.yaml.expected` files
gfngfn Jun 23, 2024
65fa42c
update initial files
gfngfn Jun 23, 2024
bcd8795
update `demo/`, `doc/`, and `tests`
gfngfn Jun 23, 2024
34d4e4e
Merge pull request #444 from gfngfn/set-version-to-0-1-0-alpha-1
gfngfn Jun 23, 2024
8ccb762
merge `dev-0-1-0-package-system` with a lot of conflicts fixed (maybe…
gfngfn Aug 11, 2024
e0d5d74
fix dependencies of `satysfi`
gfngfn Aug 11, 2024
6208e52
fix dependencies of `satysfi` (2)
gfngfn Aug 11, 2024
1bbe85a
format `dune` files (manually)
gfngfn Aug 11, 2024
c09b113
improve the report of failure by `check-packages.sh`
gfngfn Aug 11, 2024
8438850
fix `lib-satysfi/packages/md-ja/md-ja.0.0.1/satysfi-envelope.yaml.exp…
gfngfn Aug 11, 2024
6a17729
format `dune` files (manually)
gfngfn Aug 11, 2024
0a33a50
re-add a synopsis of `satysfi-common`
gfngfn Aug 11, 2024
2108a4c
re-add a synopsis of `satysfi-common` (2)
gfngfn Aug 11, 2024
7e8e98b
refine version constraints guided by `opam-dune-lint`, which is invok…
gfngfn Aug 11, 2024
5e88230
fix version constraints guided by `opam-dune-lint` (I don't know what…
gfngfn Aug 11, 2024
a053eee
separate `Stdlib.Length` and `Stdlib.Logo` from `Stdlib.Pervasives`
gfngfn Aug 27, 2024
923a035
refine the interface of `Stdlib.List`
gfngfn Aug 27, 2024
794fb94
separate `Basic` from `Pervasives` and add `{List,Option}.{compare,eq…
gfngfn Aug 27, 2024
8946f8a
extend the interface of `Stdlib.{Option,List}`
gfngfn Aug 27, 2024
6f54d3e
break `Pervasives` into `Inline`, `Block`, `Arith`, and `Ref`
gfngfn Aug 27, 2024
5707696
extend some interfaces (in particular, add `{Option,List,Length}.lift`)
gfngfn Aug 27, 2024
647b749
separate `Stdlib.Path` from `Stdlib.Gr`
gfngfn Aug 27, 2024
0390f62
refine `Gr` into `Graphics`
gfngfn Aug 27, 2024
3c9c985
add `Int` and signature `Ord`
gfngfn Aug 27, 2024
a6ef607
develop `Map` (midway)
gfngfn Aug 27, 2024
c15e42e
develop `rebalance` in `map.satyg` (midway)
gfngfn Aug 29, 2024
ca64e18
complete `rebalance` in `map.satyg`
gfngfn Aug 29, 2024
49acc81
implement `remove` in `map.satyg`
gfngfn Aug 29, 2024
0489202
develop `substitute_concrete` as to functor closures
gfngfn Aug 29, 2024
384ae2a
add `Stdlib.Map` to the interface of `stdlib`
gfngfn Aug 29, 2024
64d12e6
extend `Stdlib.Map`
gfngfn Aug 29, 2024
8e16cd9
add `find`, `map-with-key`, `fold-back`, etc. to `Stdlib.Map`
gfngfn Aug 29, 2024
4eb6d3f
change the parameter order of `Stdlib.List.fold-back`
gfngfn Aug 29, 2024
cf6545d
display the range of the structure when signature matching of a libra…
gfngfn Aug 29, 2024
59d1b7b
slightly change `ErrorReporting` about TODOs
gfngfn Aug 29, 2024
ee90de2
add `Stdlib.Set`
gfngfn Aug 29, 2024
bf2749e
promote the parser tests by `dune promote`
gfngfn Aug 30, 2024
cd7aa54
update `annot`, `code`, `footnote-scheme`, `itemize`, `math`, and `pr…
gfngfn Aug 30, 2024
3660995
update `default-registry-commit-hash.txt`
gfngfn Aug 30, 2024
f52972d
fix `md-ja` and `std-ja{,-report,-book}` so that they use new `stdlib`
gfngfn Aug 30, 2024
d84b23b
update integration tests so that they use the new version of `stdlib`
gfngfn Aug 30, 2024
8b1d89b
Merge pull request #450 from gfngfn/dev-0-1-0-refine-stdlib-api
gfngfn Aug 30, 2024
e06851a
make `#[test]`-defined values be of type `unit -> unit`, not `unit`
gfngfn Aug 30, 2024
1f94c20
add `Stdlib.List.show`
gfngfn Aug 30, 2024
b02ef7d
modify interface of `Testing` (the resulting one is similar to that o…
gfngfn Aug 30, 2024
2af40e1
make `stdlib` temporarily use the local `testing`
gfngfn Aug 30, 2024
0d56739
add `Stdlib.Ordering` and test `ListTest.compare-test`
gfngfn Aug 30, 2024
562ca89
temporarily update `saphe.lock.yaml.expected` in `stdlib`
gfngfn Aug 30, 2024
fdda8af
develop `ListTest.compare-test`
gfngfn Aug 30, 2024
8fa100b
update how `saphe init library` generate files
gfngfn Aug 30, 2024
7956a1c
add tests to `stdlib`'s `ListTest`
gfngfn Aug 31, 2024
b374d82
make `use` support attribute `#[test_only]`
gfngfn Aug 31, 2024
af1039b
replace `#[test_only]` with `#[test-only]`
gfngfn Aug 31, 2024
6630976
add a white-box test for `Stdlib.Map`
gfngfn Aug 31, 2024
6bba388
add additional white-box tests for `Stdlib.Map`
gfngfn Aug 31, 2024
65cc621
develop tests for `Stdlib.Map`
gfngfn Aug 31, 2024
8426b26
develop tests for `Stdlib.Map(X).add`
gfngfn Aug 31, 2024
82c88aa
assert well-formedness of balanced trees for testing `Stdlib.Map`
gfngfn Aug 31, 2024
a8484a9
add module attribute `#[test-only]`
gfngfn Aug 31, 2024
cc96174
fixup
gfngfn Aug 31, 2024
4f25f44
add `#[test-only]` to the white-box tests of `Stdlib.Map`
gfngfn Aug 31, 2024
db351fc
add `List.{find,find-map}`, `Inline.{nil,concat}`, and `Block.{nil,co…
gfngfn Aug 31, 2024
7a0c190
update script `check-packages.sh`
gfngfn Aug 31, 2024
f48ee3e
add `>.`, `<.`, `>=.`, and `<=,` for the comparison of floats
gfngfn Aug 31, 2024
789af63
change the definition of `>=.` and `<=.` about NaNs
gfngfn Aug 31, 2024
54289aa
turn `Stdlib.Arith` into `Stdlib.Float`
gfngfn Aug 31, 2024
8a6339a
decompose `Geom` into `Vector` and `Point`, and develop them further
gfngfn Aug 31, 2024
2e98f78
add `Testing.Equality.pair`
gfngfn Aug 31, 2024
b249fff
remove unnecessary commands from `math.satyh`
gfngfn Aug 31, 2024
4162ee0
revert temporary changes of `stdlib`'s `saphe.yaml` for modifying `te…
gfngfn Aug 31, 2024
5132104
update `default-registry-commit-hash.txt`
gfngfn Aug 31, 2024
f0548df
fix how to use test dependencies during type-checking
gfngfn Aug 31, 2024
1b49ee9
fix `math1.saty`
gfngfn Aug 31, 2024
c4e5598
Merge pull request #451 from gfngfn/dev-0-1-0-refine-testing-mechanism
gfngfn Aug 31, 2024
e19a47b
refactoring around `unsolved_crossrefs`
gfngfn Sep 1, 2024
e8db143
refactoring around `CrossRef` and `BuildDocument`
gfngfn Sep 1, 2024
11f3b6e
replace `CrossRefHashTable.add` with `CrossRefHashTable.replace` to p…
gfngfn Sep 1, 2024
a528672
replace dump file `foo.satysfi-aux` with `foo.satysfi-aux.yaml`
gfngfn Sep 1, 2024
339cb99
fix `Makefile`s about dump files
gfngfn Sep 1, 2024
b68f232
Merge pull request #452 from gfngfn/dev-0-1-0-refine-dump-file
gfngfn Sep 1, 2024
09769b6
add `intermediate_directory` and `output_directory` to the package co…
gfngfn Sep 3, 2024
356a172
add `contributors` to the package config format
gfngfn Sep 3, 2024
b4826b5
use the intermediate directory for deps configs and dump files
gfngfn Sep 3, 2024
3edeceb
update tests about intermediate directories
gfngfn Sep 3, 2024
1c6f5d0
fix `saphe build <doc>` about creating intermediate directories
gfngfn Sep 3, 2024
13f70cb
fix a `Makefile` about `INTERMED_DIR`
gfngfn Sep 3, 2024
67b40d4
upgrade `yaml` for reflecting bugfixes about encoding strings
gfngfn Sep 3, 2024
473e442
fix `make clean` for integration tests
gfngfn Sep 3, 2024
6b63970
modify `lib-satysfi/packages/md-ja/md-ja.0.0.1/satysfi-envelope.yaml.…
gfngfn Sep 3, 2024
c4ce872
fix `saphe test` to use intermediate directories properly
gfngfn Sep 3, 2024
91a89d0
discard `output_directory` for documents (at least for now because it…
gfngfn Sep 3, 2024
8b52e62
refactor `PackageConfig` by discarding `parsed_package_contents`
gfngfn Sep 3, 2024
ffa1ecd
fix `demo/Makefile` and `doc/Makefile` about `INTERMED_DIR`
gfngfn Sep 3, 2024
772f628
Merge pull request #455 from gfngfn/dev-0-1-0-introduce-intermediate-…
gfngfn Sep 3, 2024
32d65cb
begin to introduce the subcommand `cache list`
gfngfn Sep 3, 2024
ef5a6bb
add interface `sapheMain.mli`
gfngfn Sep 3, 2024
2132a0c
make `saphe cache list` simply list the files in `cache/locks/`
gfngfn Sep 3, 2024
81bd6ce
fix `readdir` about error handling
gfngfn Sep 3, 2024
cf2044f
slight refactoring about file paths
gfngfn Sep 6, 2024
ac7b278
slight refactoring about file paths (2)
gfngfn Sep 6, 2024
313004c
modify where to put caches of external resources
gfngfn Sep 6, 2024
7e7c85e
separate the arrangement of locks and that of external resources
gfngfn Sep 6, 2024
7410285
display external resource archives for `saphe cache list`
gfngfn Sep 6, 2024
760ac63
display external resource archives for `saphe cache list` (2)
gfngfn Sep 6, 2024
edcc1f4
display external resource archives for `saphe cache list` (3)
gfngfn Sep 6, 2024
4cce27e
display external resource archives for `saphe cache list` (4)
gfngfn Sep 6, 2024
54be4d0
fix `MyUtil.is_directory` about exception handling
gfngfn Sep 6, 2024
e7fe319
display external resource extractions for `saphe cache list`
gfngfn Sep 6, 2024
7a2d9d3
display external resource extractions for `saphe cache list` (2)
gfngfn Sep 6, 2024
b8d8192
Merge pull request #456 from gfngfn/dev-0-1-0-add-cache-command
gfngfn Sep 7, 2024
5b1529b
separate `errorReporting.ml` from `sapheMain.ml`
gfngfn Sep 7, 2024
892c7a6
separate `initData.ml` from `sapheMain.ml`
gfngfn Sep 7, 2024
dfb28de
refactor `packageRegistryReader` as to reading directories
gfngfn Sep 7, 2024
56b27d6
add validation of registry hash values to config files
gfngfn Sep 7, 2024
588feaf
Merge pull request #457 from gfngfn/dev-0-1-0-refactor-saphe-main
gfngfn Sep 7, 2024
f4a8104
refactor `command_decoder` by using `Core.String.chop_prefix`
gfngfn Sep 7, 2024
b7d9daf
refactor `yaml_error`
gfngfn Sep 7, 2024
3d77c47
validate uppercased/lowercased identifiers when reading configs
gfngfn Sep 7, 2024
9e28934
add validation to many fields in configs
gfngfn Sep 7, 2024
f8da26c
fix validation for external resource names
gfngfn Sep 7, 2024
084f12d
remove `lib_path` and related dead code
gfngfn Sep 7, 2024
153de11
separate `AbsPathIo` from `MyUtil`
gfngfn Sep 7, 2024
a518f93
separate `AbsPathIo` from `MyUtil` (complete)
gfngfn Sep 7, 2024
8040121
separate `UtfUtil` from `AbsPath`
gfngfn Sep 7, 2024
acda5e8
modify `AbsPathIo.open_in` into CPS style lest `close_in` should be f…
gfngfn Sep 7, 2024
f7a2b70
remove `remains_to_be_implemented`
gfngfn Sep 7, 2024
2f171f6
reduce `make_abs_path`
gfngfn Sep 7, 2024
1ab271e
refactor how to decode deps-configs
gfngfn Sep 7, 2024
135d520
add `CommonUtil` for putting common but non-versatile things
gfngfn Sep 7, 2024
3848f7c
migrate filepath-related functions from `MyUtil` to `AbsPath`
gfngfn Sep 7, 2024
d962918
remove `append_to_abs_directory` and `make_abs_path`
gfngfn Sep 7, 2024
efd2885
remove `dirname`, `basename`, and `make_absolute_if_relative` from `M…
gfngfn Sep 7, 2024
ce76023
replace `get_abs_path_string` in `src-saphe/` with `AbsPath.to_string`
gfngfn Sep 8, 2024
97e65b7
refactor `Logging`
gfngfn Sep 8, 2024
1fc3976
replace `get_abs_path_string` with `AbsPath.to_string` (or `Logging.s…
gfngfn Sep 8, 2024
6502811
discard `string_of_uchar_list`
gfngfn Sep 8, 2024
81a1626
improve error handling about `BuildDocument`
gfngfn Sep 8, 2024
9334d40
Merge pull request #458 from gfngfn/dev-0-1-0-refactor-config-and-path
gfngfn Sep 8, 2024
4372250
fix `PackageConstraintSolver` about name clashes of packages from dif…
gfngfn Sep 8, 2024
d4ed4d1
Merge pull request #460 from gfngfn/dev-0-1-0-fix-package-constraint-…
gfngfn Sep 8, 2024
157aff6
add `--verbose` to `satysfi`
gfngfn Sep 8, 2024
54bf300
add options such as `--verbose` to `saphe` (as well as `satysfi`)
gfngfn Sep 8, 2024
c2fa2a7
suppress some logs unless `--verbose` is specified
gfngfn Sep 8, 2024
0c5513e
add option `--quiet` for suppressing all the logs for ordinary scenarios
gfngfn Sep 8, 2024
160ccb9
add option `--quiet` for suppressing all the logs for ordinary scenar…
gfngfn Sep 8, 2024
ed1d2ab
slight refactoring
gfngfn Sep 8, 2024
6bb1efb
develop `Logging` about displaying filepaths
gfngfn Sep 8, 2024
c67825d
update `bin/dune`
gfngfn Sep 8, 2024
f2c5db8
rename various types and functions by introducing `LoggingUtil`
gfngfn Sep 8, 2024
521719f
change the interface of `LoggingUtil`
gfngfn Sep 8, 2024
5a73fb9
enable `--full-path`, `--verbose`, and `--quiet` for all the subcomma…
gfngfn Sep 8, 2024
969801a
slight arrangements
gfngfn Sep 8, 2024
bc08d48
change how to show non-descendant paths (when `--full-path` is not sp…
gfngfn Sep 8, 2024
bb9a677
arrangements around `Logging`
gfngfn Sep 8, 2024
da05165
slight cosmetic changes
gfngfn Sep 8, 2024
3645f8d
fix test `to_relative_string_if_descendant_test` (i.e., the test itse…
gfngfn Sep 8, 2024
94b7ac5
Merge pull request #461 from gfngfn/dev-0-1-0-add-verbosity
gfngfn Sep 8, 2024
2bd3a5d
extend `Inline` and `Block`, and add `String`
gfngfn Sep 12, 2024
fbaa75a
add `CrossRef`
gfngfn Sep 12, 2024
f048a8c
add `Context` etc.
gfngfn Sep 12, 2024
06f0afc
update `default-registry-commit-hash.txt`
gfngfn Sep 12, 2024
2386c21
Merge pull request #462 from gfngfn/dev-0-1-0-adjust-stdlib-interface
gfngfn Sep 14, 2024
e071129
add explicit quantifiers to value bindings for type annotations
gfngfn Sep 14, 2024
0c219e1
add quantifiers to value bindings (with shift/reduce conflicts fixed)
gfngfn Sep 15, 2024
12a08e2
add the syntax for type annotations of return types
gfngfn Sep 15, 2024
de10f1a
update `parser.expected` by `dune promote`
gfngfn Sep 15, 2024
0b82aed
refactor `untyped_let_binding`
gfngfn Sep 15, 2024
fe7e79d
update `parser.expected` by `dune promote`
gfngfn Sep 15, 2024
6723601
refactor `Typechecker` by separating `typecheck_nonrec`
gfngfn Sep 15, 2024
fd016e0
make `ModuleTypechecker` use `Typechecker.typecheck_nonrec`
gfngfn Sep 15, 2024
65034a1
(maybe temporary) fixes about the generalization of value items in mo…
gfngfn Sep 15, 2024
2df5d20
make `ModuleTypechecker` use `Typechecker.typecheck_let_mutable`
gfngfn Sep 15, 2024
5a203a8
rename types and functions (`letrec` -> `let_rec`)
gfngfn Sep 15, 2024
f8206a4
refactoring around `UTFunction`
gfngfn Sep 15, 2024
e849618
simply move `typecheck_function_parameter_unit` and `typecheck_abstra…
gfngfn Sep 15, 2024
643b188
fix a mistake of refactoring about passing type environments
gfngfn Sep 15, 2024
d466fc9
fix a mistake of refactoring about passing type environments (2)
gfngfn Sep 15, 2024
806db5c
use return type annotations of non-rec bindings
gfngfn Sep 15, 2024
0d9a0fa
use return type annotations of rec bindings
gfngfn Sep 15, 2024
e1c14b9
fix `collect_ids_scheme` for displaying `MustBeBound{,Row}ID`s
gfngfn Sep 15, 2024
746b616
add an integration test `type-annot.saty` for type annotations
gfngfn Sep 16, 2024
8913a12
fix how to lift mono types to poly types as to `MustBeBound`
gfngfn Sep 16, 2024
6ef99bf
fix how to lift mono types to poly types as to `MustBeBoundRow`
gfngfn Sep 16, 2024
2ef1a7c
rename `PolyFree` to `PolyFreeUpdatable`
gfngfn Sep 16, 2024
add95ad
refactoring around `PolyFree`
gfngfn Sep 16, 2024
e2b8f78
Merge pull request #463 from gfngfn/dev-0-1-0-add-quantifier-to-value…
gfngfn Sep 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
uses: actions/cache@v4
id: locks-cache
with:
path: ~/.satysfi/cache
path: ~/.saphe/cache
key: cache-locks-${{ hashFiles('default-registry-commit-hash.txt') }}

- name: Set-up OCaml
Expand All @@ -56,7 +56,6 @@ jobs:
- name: Install SATySFi
run: |
opam install .
./install-libs.sh ~/.satysfi

- name: Check library packages
run: |
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@
/temp/latinmodern-math-1959/
/temp/*.zip
/temp/tarballs/
*.pdf
*.satysfi-aux.yaml
/saphe
/satysfi
12 changes: 10 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
PREFIX=/usr/local
LIBDIR=$(PREFIX)/share/satysfi
SATYSFI=satysfi
SAPHE=saphe
BINDIR=$(PREFIX)/bin

.PHONY: all test test-packages clean install uninstall
.PHONY: all test test-packages promote-package-locks update-ci-cache clean install uninstall

all:
dune build

test:
$(DUNE) runtest
dune runtest

test-packages:
./check-packages.sh

promote-package-locks:
./promote-lock-of-packages.sh

update-ci-cache:
./update-default-registry-commit-hash-file.sh

clean:
dune clean

Expand Down
85 changes: 43 additions & 42 deletions README-ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

[![Build Status](https://github.com/gfngfn/SATySFi/workflows/CI/badge.svg?branch=master)](https://github.com/gfngfn/SATySFi/actions?query=workflow%3ACI)

**注意: 2024年3月現在,SATySFi は 0.0.x から 0.1.x へと移行する過程にあります.このREADMEをはじめとして多くの文書では古くなっている情報が残っているかもしれません.**

[English README is here](https://github.com/gfngfn/SATySFi/blob/master/README.md)

## 概要
Expand All @@ -14,38 +16,8 @@
* 株式会社ドワンゴ(2018年10月–2019年3月.アルバイトとして)
* [The SATySFi​book](https://booth.pm/ja/items/1127224)を購入頂いた,多くの匿名の支援者の方々

また,2024年2月現在も発展を続けています。

## Satyrographos を使ったインストール方法 (初心者向け)

パッケージマネージャー [Satyrographos](https://github.com/na4zagin3/satyrographos/blob/master/README-ja.md) を用いたインストール方法が用意されています。
詳しくは [SATySFi インストール手引き](https://qiita.com/na4zagin3/items/a6e025c17ef991a4c923) をご覧下さい。

```sh
# Ubuntu 20.04 の場合
sudo apt-get update
sudo apt-get install build-essential git m4 unzip curl pkg-config
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
また,2024年3月現在も発展を続けています。

# Mac の場合
# 要 homebrew (https://brew.sh/index_ja に従いインストールして下さい)
brew update
brew install opam

# 共通 OPAM の設定
opam init
eval $(opam env)
opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam repository add satyrographos https://github.com/na4zagin3/satyrographos-repo.git
opam update

# 共通 SATySFi のインストール
opam depext satysfi satysfi-dist satyrographos
opam install satysfi satysfi-dist satyrographos

# 共通 SATySFi 標準ライブラリのセットアップ
satyrographos install
```

## OPAM を使ったインストール方法

Expand Down Expand Up @@ -90,6 +62,7 @@ opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-
opam update
```


#### 準備例(OS X Mavericks 以降)

```sh
Expand All @@ -109,6 +82,7 @@ opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-
opam update
```


### ビルド

まず,このリポジトリを clone し,OPAM を使って SATySFi をビルドします:
Expand All @@ -119,23 +93,45 @@ git clone https://github.com/gfngfn/SATySFi.git
cd SATySFi

# build
opam pin add satysfi .
opam install satysfi
opam pin add .
opam install satysfi saphe
```

* 再インストール: `opam reinstall satysfi` を実行
* アンインストール: `opam uninstall satysfi` を実行

### セットアップ

使用する前に,フォントをダウンロードし,ライブラリ等を所定の場所に移す必要があります。以下のように2つのシェルスクリプトを順に実行します:
## SATySFi **0.0.x** についての説明

### Satyrographos を使ったインストール方法 (初心者向け)

パッケージマネージャー [Satyrographos](https://github.com/na4zagin3/satyrographos/blob/master/README-ja.md) を用いたインストール方法が用意されています。詳しくは [SATySFi インストール手引き](https://qiita.com/na4zagin3/items/a6e025c17ef991a4c923) をご覧下さい。

```sh
./download-fonts.sh
./install-libs.sh
```
# Ubuntu 20.04 の場合
sudo apt-get update
sudo apt-get install build-essential git m4 unzip curl pkg-config
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)

# Mac の場合
# 要 homebrew (https://brew.sh/index_ja に従いインストールして下さい)
brew update
brew install opam

# 共通 OPAM の設定
opam init
eval $(opam env)
opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam repository add satyrographos https://github.com/na4zagin3/satyrographos-repo.git
opam update

前者はデフォルトで必要なフォントファイルを Web 上からダウンロードして `lib-satysfi/dist/fonts/` 直下に格納し,後者は `lib-satysfi/` 以下を `/usr/local/share/satysfi/` 以下にそのままコピーします。
# 共通 SATySFi のインストール
opam depext satysfi satysfi-dist satyrographos
opam install satysfi satysfi-dist satyrographos

# 共通 SATySFi 標準ライブラリのセットアップ
satyrographos install
```

ここでインストールされるフォントは以下の通りです。ライセンスを確認した上で使用してください:

Expand All @@ -144,7 +140,8 @@ opam install satysfi
* [Latin Modern](http://www.gust.org.pl/projects/e-foundry/latin-modern/)
* [Latin Modern Math](http://www.gust.org.pl/projects/e-foundry/lm-math)

## 用法

### 用法

```sh
satysfi <input file> -o <output file>
Expand All @@ -156,6 +153,7 @@ satysfi <input file> -o <output file>
satysfi doc.saty -o output.pdf
```


### コンパイルしてみよう

デモファイルが `demo` フォルダにあるので,初めにこのファイルをコンパイルしてみましょう。
Expand All @@ -168,6 +166,7 @@ make

うまく準備できていれば,`demo.pdf` が作成されます。


### リファレンス

詳細な解説である [The SATySFi​book](https://booth.pm/ja/items/1127224) が BOOTH にて公開されており,無償でダウンロードできます。このほか,SATySFi で文書を作成するためのごく簡単なリファレンスが `doc` フォルダに SATySFi を用いて書かれており,以下の処理で PDF が生成されます:
Expand All @@ -177,7 +176,8 @@ cd doc
make
```

## コマンドラインオプション

### コマンドラインオプション

* `-v`, `--version`: ヴァージョンを表示します。
* `-o`, `--output`: 出力ファイル名を指定します。省略された場合,入力ファイル名の拡張子を `.pdf` に変えた名前を出力ファイル名とします。
Expand All @@ -187,6 +187,7 @@ make
* `--debug-show-bbox`: (デバッグ目的で)各グリフにバウンディングボックスをつけて出力します。
* `--debug-show-space`: (デバッグ目的で)スペース部分に目印をつけて出力します。

## SATySFiを学ぶ

### SATySFiを学ぶ

[Wiki](https://github.com/gfngfn/SATySFi/wiki/SATySFi-Wiki#%E5%AD%A6%E7%BF%92%E7%94%A8%E8%B3%87%E6%96%99) に学習用の資料があります。
98 changes: 39 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

[![Build Status](https://github.com/gfngfn/SATySFi/workflows/CI/badge.svg?branch=master)](https://github.com/gfngfn/SATySFi/actions?query=workflow%3ACI)

**Note: As of Mar 2024, we are in the process of migrating SATySFi 0.0.x to SATySFi 0.1.x. In many documents as well as this README file. there might be information about features that has already been obsoleted.**

[日本語版 README はこちら](https://github.com/gfngfn/SATySFi/blob/master/README-ja.md)

## Summary of SATySFi
## What’s SATySFi?

*SATySFi* (pronounced in the same way as the verb “satisfy” in English) is a new typesetting system equipped with a statically-typed, functional programming language. It consists mainly of two “layers” ― the text layer and the program layer. The former is for writing documents in LaTeX-like syntax. The latter, which has OCaml-like syntax, is for defining functions and commands. SATySFi enables you to write documents markuped with flexible commands of your own making. In addition, its informative type error reporting will be a good help to your writing.

Expand All @@ -14,37 +16,8 @@ This software was supported by:
* Dwango Co., Ltd. (October 2018 – March 2019; as a part-time job), and
* many anonymous supporters who bought [The SATySFi​book](https://booth.pm/ja/items/1127224),

and its development continues to this day (Feb 2024).

## Install using Satyrographos (for non-devs)

You can install SATySFi with package manager [Satyrographos](https://github.com/na4zagin3/satyrographos/blob/master/README.md).

```sh
# For Ubuntu 20.04
sudo apt-get update
sudo apt-get install build-essential git m4 unzip curl pkg-config
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)

# For Mac
# Please make sure homebrew is installed. Otherwise, follow https://brew.sh/
brew update
brew install opam
and its development continues to this day (Mar 2024).

# Common: Set up OPAM
opam init
eval $(opam env)
opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam repository add satyrographos https://github.com/na4zagin3/satyrographos-repo.git
opam update

# Common: Install SATySFi
opam depext satysfi satysfi-dist satyrographos
opam install satysfi satysfi-dist satyrographos

# Common: Set up the SATySFi standard library
satyrographos install
```

## Install using OPAM

Expand Down Expand Up @@ -110,49 +83,53 @@ opam update

### Build

First, clone this repository and submodules. Then build SATySFi using OPAM.
First, clone this repository. Then build SATySFi and Saphe using OPAM.

```sh
# clone
git clone https://github.com/gfngfn/SATySFi.git
cd SATySFi

# build
opam pin add satysfi .
opam install satysfi
opam pin add .
opam install satysfi saphe
```

* To reinstall, run `opam reinstall satysfi`.
* To uninstall, run `opam uninstall satysfi`.
* To reinstall, run `opam reinstall satysfi saphe`.
* To uninstall, run `opam uninstall satysfi saphe`.

<!--
### Manual build of SATySFi

1. Install ocamlbuild, ocamlfind, and Menhir.
2. In repository, run `make`.
3. `macrodown` should then be available under the diretory.
4. Run `make install` to install `satysfi` as `/usr/local/bin/satysfi`.
5. Run `make install-lib` to create a symbolic link for the library.
## About SATySFi **0.0.x**

You can modify the directory for the installation by specifying `PREFIX` like `sudo make install PREFIX=/usr/bin`. the symbolic link for the SATySFi library will be created as `/usr/local/lib-satysfi -> DIR/lib-satysfi` where `DIR` is the top directory of the repository.
-->
### Install SATySFi **0.0.x** using Satyrographos (for non-devs)

<!--
### Download release from GitHub
You can install SATySFi **0.0.x** with package manager [Satyrographos](https://github.com/na4zagin3/satyrographos/blob/master/README.md).

See [release page](https://github.com/gfngfn/Macrodown/releases)
-->
```sh
# For Ubuntu 20.04
sudo apt-get update
sudo apt-get install build-essential git m4 unzip curl pkg-config
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)

### Setup for SATySFi
# For Mac
# Please make sure homebrew is installed. Otherwise, follow https://brew.sh/
brew update
brew install opam

Before using SATySFi, one should put libraries and fonts onto the appropriate directory. This can be done by invoking the following commands in order:
# Common: Set up OPAM
opam init
eval $(opam env)
opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam repository add satyrographos https://github.com/na4zagin3/satyrographos-repo.git
opam update

```sh
./download-fonts.sh
./install-libs.sh
```
# Common: Install SATySFi
opam depext satysfi satysfi-dist satyrographos
opam install satysfi satysfi-dist satyrographos

The former downloads the fonts required by the default settings into `lib-satysfi/dist/fonts/`, and the latter copies `lib-satysfi/` to `/usr/local/share/satysfi/`.
# Common: Set up the SATySFi standard library
satyrographos install
```

During this setup, the following fonts are downloaded. Consult their license before using them.

Expand All @@ -161,7 +138,8 @@ During this setup, the following fonts are downloaded. Consult their license bef
* [Latin Modern](http://www.gust.org.pl/projects/e-foundry/latin-modern/)
* [Latin Modern Math](http://www.gust.org.pl/projects/e-foundry/lm-math)

## Usage of SATySFi

### Usage

Type

Expand All @@ -186,6 +164,7 @@ make

If `demo.pdf` is created, then the setup has been finished correctly.


### Reference

In addition, a concice reference of SATySFi is written by SATySFi itself in `doc` folder. You need to compile it to read.
Expand All @@ -195,7 +174,7 @@ cd doc
make
```

## Command-line options
### Command-line options

* `-v`, `--version`: Prints the version.
* `-o`, `--output`: Specify the name of the output PDF file. if this option is not given explicitly, the name of the output file is the concatenation of the base name of the input file and the extension `.pdf`.
Expand All @@ -205,6 +184,7 @@ make
* `--debug-show-bbox`: Outputs bounding boxes for each glyph (for the purpose of debugging).
* `--debug-show-space`: Outputs boxes for spaces (for the purpose of debugging).

## Learning SATySFi

### Learning SATySFi **0.0.x**

[Wiki](https://github.com/gfngfn/SATySFi/wiki/SATySFi-Wiki#%E5%AD%A6%E7%BF%92%E7%94%A8%E8%B3%87%E6%96%99) (currently written only in Japanese) has some information about learning SATySFi.
6 changes: 6 additions & 0 deletions bin-saphe/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
(executable
(name saphe)
(public_name saphe)
(package saphe)
(libraries sapheMain satysfi-common cmdliner)
(preprocess no_preprocessing))
Loading
Loading