Lines Matching refs:branded

4 Syntax for defining branded values.
22 * Perhaps names are assigned top down. A branded definiens phrase is evaluated
24 of a branded definition, or the body of a constructor function, is perhaps
27 * So branded values get their brand during construction from a function
32 * This is also not compatible with patterned branded definitions
53 * What happens with 'def x = ACF arg'? Is x a branded value?
54 I'd like to say yes, it is branded with 'x'.
69 * What happens with branded field definitions like 'def BF = bexpr'?
70 * Is AM.BF branded with BF?
72 the value of X is branded with X.
80 Can I construct a branded module using metaprogramming (dynamic record
81 literals)? This seems useful. Need field docstrings and branded fields.
95 Here's another one. Suppose we have 'def F = C x y z' (a branded function F).
104 is for modules with branded fields to carry around a thunk for reconstructing
110 * Modules with branded fields carry a thunk, which reevaluates the module
114 branded fields. Use top-down branding to increase performance by avoiding
132 * Module members can be branded.
133 * Modules can be branded.
167 * A record is like a module with no docstrings or branded members,
206 I think 'branded' is better than 'opaque'.
216 A branded definition is:
217 branded <id> = <bexpr>
220 part of the metadata of a branded value.
223 branded <bexpr>
226 contains docstrings and/or branded definitions. You can't extract fields
227 from an anonymous module, it must be branded first. But you can construct
231 <param> -> branded <bexpr>
234 you bind it using a branded definition.
245 * branded:
251 * 'term'. Use 'term' to mean 'branded value'. An 'anonymous term'
257 Use 'nominal value' to mean 'branded value'.
258 * 'api', because branded values are restricted to "API values".
262 branded f = x y z -> stuff
263 branded f = x -> branded y -> branded z -> stuff
284 branded f = x y z -> stuff
285 branded f = x -> branded y -> branded z -> stuff
286 branded f x y z = stuff
290 'branded' attaches to a bexpr, has low precedence.
292 def f = x -> branded y -> branded z -> stuff
304 x -> branded y -> x + y -- constructor function
305 branded {...} -- top level of a file in a directory record
310 * 'branded'
312 * 'term'. Use 'term' to mean 'branded value'. An 'anonymous term'
315 Use 'nominal value' to mean 'branded value'.
316 * 'api', because branded values are restricted to "API values".
318 x -> branded y -> x + y branded {...}
324 x -> branded y -> x + y branded {...}