Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork254
Open
Milestone
Description
Last update: June 14th, 2024
We've got the Syntax Lookup Widget skeleton (#114 ) in place now, so we need content writers to cover quick glance overviews over each topic.
This issue is here to collect a list of language constructs we should definitely cover. Feel free to propose more topics if something is missing. I will continuously update this issue for completeness reasons.
How to work on this?
- Check the list below (we regularly update it as soon as features get added) and pick some features you want to document
- Check out the
misc_data/syntaxdirectory for structure and inspiration - Open a PR in draft mode (target
master) as soon as possible, so other contributors see what's currently being worked on
Content Overview
Decorators:
@val@module@obj@scope@get@get_index@set@set_index@uncurry@send@string@int@unwrap@new@deriving@as@variadic@inline@meth@return@unboxed@this@@warning@send.pipe(deprecated)@genType@react.component@deprecated@ignore@tag
Operators:
->|>+++,+.-,-./,/.*,*.mod:=(ref value assignment):>(type coercion)||boolean OR&&boolean AND!boolean NOT
Language Constructs:
_(placeholder, all scenarios like pipe, ignore value)typelet(let binding)(Apparently not part of the language, although I strongly disagree not including it, because it's user-facing... seeDocument %external(\"SomeValue") #351)let \"\"(let binding with invalid identifier name)if/elseexternal() => {}(function)(.) => {}(curried function)open(alsoopen!)include(+include module type of ...)module[ #value ](polyvar definition)switch(pattern matching: exceptions, values, variants, when clause..)'a(generic placeholder)+'a(placeholder for covariance)(Item: Comparable) => {}(module functor)<MyComponent>(JSX)""(string)j`` (implicit string interpolation)(deprecated)- `` (explicit string interpolation)
' '(single quote = char)forloopwhileloop~labelled arguments|or patterns?:ternary...(spread, all scenarios like array, list, record, polymorphic variant)
Type Specifics:
{.}(empty object type){ "key": "value" }(Object type){..}(includingtype obj<'a> = {.. "a": string } as 'a) aka Open object typeref(mutable type)exception(exn)module typemodule type of(seeplayground link)
Builtin Functions:
ignore
Extension Points:
%%raw%raw%identity%debugger%re
Build System Specials:
__POS_OF__(string)__LINE____LOC____FILE____LOC_OF____MODULE____LINE_OF__