package reason
Reason: Syntax & Toolchain for OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
reason-3.8.2.tbz
sha256=7adcc45db20b8def82adf2712211fb8ed844328489752e8edf74281bc1eb2ef2
sha512=45822ecf4b19b892e1d150fd7f7a80af18df576b204647d4bbb9a18ac591a690f9b5338789ecccacb2d6b6354dbc32ff4a3574cc8b82b777e21cb8729f502f95
doc/index.html
reason
API
Library reason
Merlin_recovery
Ocaml_util
Reason_attributes
Reason_comment
Reason_config
* Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree.Reason_declarative_lexer
Reason_errors
Reason_heuristics
Reason_layout
Reason_lexer
Reason_location
Reason_multi_parser
Reason_oprint
Reason_parser
Reason_parser_def
Reason_parser_explain
Reason_parser_explain_raw
Reason_parser_recover
Reason_pprint_ast
Reason_recover_parser
Reason_single_parser
Reason_string
Reason_syntax_util
Reason_toolchain
* Provides a simple interface to the most common parsing entrypoints required * by editor/IDE toolchains, preprocessors, and pretty printers. * * The form of this entrypoint includes more than what the standard OCaml * toolchain (oprof/ocamldoc) expects, but is still compatible. * *implementation_with_comments
andinterface_with_comments
includes * additional information (about comments) suitable for building pretty * printers, editor, IDE and VCS integration. * * The comments include the full text of the comment (typically in between the * "(*" and the "*)", as well as location information for that comment. * * WARNING: The "end" location is one greater than the actual final position! * (for bothassociatedTextLoc
andcommentLoc
). * * Currently, the location information for comments is of the form: * * (associatedTextLoc) * * But we should quickly change it to be of the form: * * (associatedTextLoc, commentLoc) * * Where thecommentLoc
is the actual original location of the comment, * and theassociatedTextLoc
records the location in the file that the * comment is attached to. IfassociatedTextLoc
andcommentLoc
are the * same, then the comment is "free floating" in that it only attaches to itself. * TheReason
pretty printer will try its best to interleave those comments * in the containing list etc. But ifassociatedTextLoc
expands beyond * thecommentLoc
it means the comment and the AST that is captured by * theassociatedTextLoc
are related - where "related" is something * thisreason_toolchain
decides (but in short it handles "end of line * comments"). Various pretty printers can decide how to preserve this * relatedness. Ideally, it would preserve end of line comments, but in the * short term, it might merely use that relatedness to correctly attach * end of line comments to the "top" of the AST node. * * let lst =* *
; (* Comment *) * ----commentLoc----- * ---associatedTextLoc---- * * * Ideally that would be formatted as: * * let lst =* *
; (* Comment *) * * Or: * * let lst =associatedTextLoc
to at least * correctly attach the comment to the correct node, even if not "end of line". * * (* Comment *) * let lst =Reason_toolchain_conf
Reason_toolchain_ocaml
Reason_toolchain_reason
Library reason.cmdliner
Vendored_cmdliner
Declarative definition of command line interfaces.
Library reason.easy_format
Vendored_easy_format
Easy_format: indentation made easy.
Library reason.ocaml-migrate-parsetree
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page