Skip to content

Function Development Index

Andrew Johnson edited this page May 24, 2024 · 13 revisions

Joint Development works on a Library Card system. If you want to make changes to an existing common function then you need to check it out from the library. This way Functions can only have a single developer at any given time.

Currently there are almost 250 functions, ideally there would be less than 200, maybe only 100.

Function Development Index

compile := λ()

compile-program-ordered := λ(: global-ctx CCContext)(: program AST)

compile-type := λ(: ctx CCContext)(: lhs AST)(: rhs AST)

compile-type-case := λ(: ctx CCContext)(: base-type Type)(: rhs AST)(: case-number U64)

compile-define-head-accessor := λ(: ctx CCContext)(: base-type Type)

compile-define-field-accessors := λ(: ctx CCContext)(: base-type Type)(: field-types Type)(: case-number U64)

compile-define-tag-constructor := λ(: ctx CCContext)(: tag String)(: arg-types Type)(: base-type Type)(: rtype Type)(: case-number U64)

compile-finish := λ

compile-write := λ

to-s := λ(: term AST)

print := λ(: t Context)

print := λ(: t TContext)

print := λ(: t AST)

serialize-ast := λ(: t AST)

s-abs := λ(: lhs S[])(: rhs S[])

s-app := λ(: lhs S[])(: rhs S[])

s-var := λ(: s String)

s-lit := λ(: s String)

main := λ(: argc U64)(: argv String[])

STRICT/codegen.lm:compile-global := λ(: ctx CCContext)(: k String)(: term AST). (: (tail(

STRICT/codegen.lm:compile-global := λ(: ctx CCContext)(: term AST). (: (tail(

STRICT/codegen.lm:compile-expr := λ(: ctx CCContext)(: term AST)(: stack-offset I64)(: used Used). (: (tail(

STRICT/codegen.lm:compile-expr-direct := λ(: ctx CCContext)(: term AST)(: stack-offset I64)(: used Used). (: (tail(

STRICT/codegen.lm:compile-destructure-args := λ(: tt Type)(: ctx CCContext)(: lhs AST)(: offset I64). (: (tail(

STRICT/codegen.lm:compile-stack-call := λ(: ctx CCContext)(: function-name String)(: return-type Type)(: args AST)(: offset I64). (: (tail(

STRICT/codegen.lm:compile-translate-local-variables := λ(: ctx CCContext)(: delta I64). (: (tail(

STRICT/codegen.lm:compile-stack-call-push-args := λ(: ctx CCContext)(: args AST)(: inner-offset I64). (: (tail(

STRICT/codegen.lm:as-branch-conditional := λ(: f CCFragment). (: (tail(

STRICT/codegen.lm:compile-declare-cstring := λ(: val String). (: (tail(

STRICT/codegen.lm:compile-maybe-push-stack := λ(: ctx CCContext)(: offset I64)(: fragment CCFragment)(: expression-type Type)(: sloc AST). (: (tail(

STRICT/codegen.lm:compile-push-rvalue := λ(: ctx CCContext)(: rval AST)(: offset I64). (: (tail(

STRICT/codegen.lm:compile-fragment-args := λ(: ctx CCContext)(: rval AST)(: offset I64). (: (tail(

STRICT/codegen.lm:compile-constructor := λ(: ctx CCContext)(: tag-name String)(: return-type Type)(: args AST)(: offset I64). (: (tail(

STRICT/context.lm:print := λ(: ctx CCContext). (: (tail(

STRICT/context.lm:cccontext::new := λ. (: (tail(

STRICT/context.lm:cccontext::lookup := λ(: ctx CCContext)(: k String)(: kt Type)(: sloc AST). (: (

STRICT/context.lm:cccontext::lookup := λ(: ctx CCContext)(: k String)(: kt Type)(: sloc AST)(: hard-error U8). (: (tail(

STRICT/context.lm:cccontext::bind := λ(: ctx CCContext)(: k String)(: kt Type)(: f CCFragment). (: (tail(

STRICT/context.lm:cccontext::bind := λ(: ctx CCContext)(: k String)(: v String). (: (tail(

STRICT/context.lm:cccontext::get := λ(: ctx CCContext)(: k String). (: (tail(

STRICT/context.lm:cccontext::get-offset := λ(: ctx CCContext). (: (tail(

STRICT/data.lm:compile-text-header := λ . (: (tail(

STRICT/data.lm:compile-data-header := λ . (: (tail(

STRICT/data.lm:compile-argv-text-header := λ . (: (tail(

STRICT/data.lm:compile-exit-cleanup := λ . (: (tail(

STRICT/fragment.lm:print := λ(: x CCFragment). (: (

STRICT/fragment.lm:print := λ(: x FragList). (: (

STRICT/fragment.lm:ccfragment::new := λ . (: (tail(

STRICT/fragment.lm:ccfragment::local-variable := λ(: offset I64)(: tt Type). (: (tail(

STRICT/fragment.lm:ccfragment::label := λ(: id String). (: (tail(

STRICT/fragment.lm:ccfragment::expression := λ(: val String) . (: (tail(

STRICT/fragment.lm:ccfragment::get := λ(: e CCFragment)(: k String). (: (tail(

STRICT/fragment.lm:ccfragment::set := λ(: e CCFragment)(: k String)(: v S). (: (tail(

STRICT/fragment.lm:ccfragment::get-context := λ(: e CCFragment) . (: (tail(

STRICT/fragment.lm:ccfragment::set-context := λ(: e CCFragment)(: ctx CCContext). (: (tail(

STRICT/fragment.lm:ccfragment::get-type := λ(: e CCFragment) . (: (tail(

STRICT/fragment.lm:ccfragment::set-type := λ(: e CCFragment)(: tt Type). (: (tail(

STRICT/fragment.lm:ccfragment::get-offset := λ(: e CCFragment). (: (tail(

STRICT/fragment.lm:ccfragment::set-offset := λ(: e CCFragment)(: offset I64). (: (tail(

STRICT/fragment.lm:typeof := λ(: args FragList). (: (tail(

STRICT/fragment.lm:fragment-size-args := λ(: args FragList). (: (tail(

STRICT/fragment.lm:fragment-apply := λ(: ctx CCContext)(: offset I64)(: k String)(: args FragList)(: sloc AST). (: (tail(

STRICT/fragment.lm:fragment-destructure-tctx := λ(: ctx CCContext)(: tctx TContext). (: (tail(

STRICT/fragment.lm:fragment-destructure-lhs := λ(: ctx CCContext)(: lhs S)(: args FragList). (: (tail(

STRICT/fragment.lm:fragment-render := λ(: mode String)(: ctx CCContext)(: s S). (: (tail(

STRICT/fragment.lm:fragment-apply-context := λ(: ctx CCContext)(: rhs S)(: e CCFragment). (: (tail(

STRICT/fragment.lm:fragment-apply-direct := λ(: arrow CCFragment)(: args FragList)(: e-proto CCFragment)(: chain U8). (: (tail(

STRICT/fragment.lm:ccfragment::chain := λ(: l CCFragment)(: r CCFragment). (: (tail(

STRICT/fragment.lm:fragment-chain := λ(: fragment-ctx FragList)(: e CCFragment). (: (tail(

STRICT/parse.lm:print := λ(: x ParsePartial). (: (match x (

STRICT/parse.lm:parse := λ. (: (tail(

STRICT/parse.lm:parse-many-expressions := λ(: tokens S). (: (tail(

STRICT/parse.lm:parse-one-expression := λ(: tokens S). (: (tail(

STRICT/parse.lm:parse-unexpect := λ(: msg String)(: tokens S). (: (tail(

STRICT/parse.lm:parse-expect := λ(: msg String)(: tokens S). (: (tail(

STRICT/parse.lm:parse-lambda := λ(: tokens S). (: (tail(

STRICT/parse.lm:parse-type := λ(: tt String). (: (tail(

STRICT/parse.lm:parse-type-single := λ(: tt String). (: (tail(

STRICT/parse.lm:parse-type-comma-sep := λ(: tt String). (: (tail(

STRICT/preprocess.lm:preprocess-index-of-tag := λ(: tag String). (: (tail(

STRICT/preprocess.lm:preprocess := λ. (: (tail(

STRICT/preprocess.lm:preprocess-index-typedefs := λ(: program AST). (: (

STRICT/preprocess.lm:preprocess-index-typedef := λ(: term AST). (: (match term (

STRICT/preprocess.lm:preprocess-index-indices := λ(: def AST)(: index U64) . (: (tail(

STRICT/preprocess.lm:preprocess-index-index := λ(: body AST)(: index U64). (: (tail(

STRICT/preprocess.lm:preprocess-apply := λ(: program AST). (: (tail(

STRICT/preprocess.lm:is-macro-head := λ(: s String). (: (tail(

STRICT/preprocess.lm:merge := λ(: l Context)(: r Context). (: (tail(

STRICT/preprocess.lm:try-destructure-macro := λ(: lhs AST)(: term AST). (: (tail(

STRICT/preprocess.lm:replace-loc := λ(: loc AST)(: term AST). (: (tail(

STRICT/preprocess.lm:apply-context := λ(: ctx Context)(: term AST). (: (tail(

STRICT/preprocess.lm:substitute-uuids := λ(: ctx Context)(: term AST). (: (tail(

STRICT/preprocess.lm:extract-uuids := λ(: sloc AST)(: ctx Context)(: term AST). (: (tail(

STRICT/preprocess.lm:preprocess-apply-maybe := λ(: program AST). (: (tail(

STRICT/tokenize.lm:location := λ(: tok String). (: (tail(

STRICT/tokenize.lm:add-location := λ(: tok String)(: loc SourceLocation). (: (

STRICT/tokenize.lm:add-location := λ(: tok String)(: loc SourceMap). (: (

STRICT/tokenize.lm:add-location := λ(: tok String)(: file String)(: line U64)(: column U64). (: (

STRICT/tokenize.lm:location := λ(: term AST). (: (tail(

STRICT/tokenize.lm:print := λ(: loc SourceMap). (: (

STRICT/tokenize.lm:tokenize := λ(: fp String). (: (tail(

STRICT/typecheck.lm:to-string := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:to-string-impl := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-sizeof := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-aligned-sizeof := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-get-size := λ(: tag String). (: (tail(

STRICT/typecheck.lm:typecheck-set-size := λ(: tag String)(: size U64). (: (

STRICT/typecheck.lm:merge := λ(: lctx TContext)(: rctx TContext). (: (tail(

STRICT/typecheck.lm:print := λ(: tt Type). (: (match tt (

STRICT/typecheck.lm:serialize-ast := λ(: tt Type). (: (match tt (

STRICT/typecheck.lm:tsized := λ(: sz String). (: (tail(

STRICT/typecheck.lm:t1 := λ(: s String). (: (tail(

STRICT/typecheck.lm:typecheck-typeof-lhs := λ(: lhs AST). (: (tail(

STRICT/typecheck.lm:typecheck := λ. (: (tail(

STRICT/typecheck.lm:typecheck-infer-type-definition := λ(: base-type Type)(: body AST). (: (tail(

STRICT/typecheck.lm:typecheck-infer-type-constructor := λ(: base-type Type)(: body AST). (: (tail(

STRICT/typecheck.lm:typecheck-annotate-head-accessor := λ(: base-type Type). (: (tail(

STRICT/typecheck.lm:typecheck-annotate-accessors := λ(: base-type Type)(: args-type Type). (: (tail(

STRICT/typecheck.lm:typecheck-infer-type-compound := λ(: compound AST). (: (tail(

STRICT/typecheck.lm:typecheck-infer-global-context := λ(: td AST). (: (tail(

STRICT/typecheck.lm:typecheck-assert-complete := λ(: term AST). (: (

STRICT/typecheck.lm:typecheck-assert-one := λ(: term AST). (: (

STRICT/typecheck.lm:typecheck-lookup := λ(: term AST). (: (tail(

STRICT/typecheck.lm:exit-error := λ(: msg String)(: t AST). (: (tail(

STRICT/typecheck.lm:without-tag := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:normalize := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:nonnormal := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-is-sized := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-annotate-size-inner := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-annotate-size-recurse := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:with-size := λ(: tt Type). (: (

STRICT/typecheck.lm:typecheck-annotate-size := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-ascript := λ(: t S)(: tt Type). (: (

STRICT/typecheck.lm:typecheck-lookup := λ(: term S). (: (tail(

STRICT/typecheck.lm:typecheck-ascript := λ(: t AST)(: tt Type). (: (

STRICT/typecheck.lm:typecheck-infer-expr := λ(: tctx TContext)(: term AST)(: used Used). (: (tail(

STRICT/typecheck.lm:typecheck-slot := λ(: tt Type)(: slot String). (: (tail(

STRICT/typecheck.lm:typecheck-slot-inner := λ(: tt Type)(: slot String). (: (tail(

STRICT/typecheck.lm:typecheck-typeof-tag := λ(: tag String). (: (tail(

STRICT/typecheck.lm:typecheck-classof-tag := λ(: tag String). (: (tail(

STRICT/typecheck.lm:as-local-variable := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:as-constant := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:as-return := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:is-arrow := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-apply-plural := λ(: sloc AST)(: many Type)(: pt Type). (: (tail(

STRICT/typecheck.lm:typecheck-apply-hard := λ(: sloc AST)(: ft Type)(: pt Type). (: (tail(

STRICT/typecheck.lm:typecheck-unify-ctx := λ(: ctx TContext)(: tt Type). (: (tail(

STRICT/typecheck.lm:tcontext-accept := λ. (: (tail(

STRICT/typecheck.lm:typecheck-unify-args := λ(: fpt Type)(: pt Type). (: (tail(

STRICT/typecheck.lm:typecheck-unify-generous := λ(: fpt Type)(: pt Type). (: (tail(

STRICT/typecheck.lm:tarrow := λ(: lt Type)(: rt Type). (: (tail(

STRICT/typecheck.lm:tcons := λ(: lt Type)(: rt Type). (: (tail(

STRICT/typecheck.lm:right-if-not-left := λ(: lt Type)(: rt Type). (: (tail(

STRICT/typecheck.lm:tand := λ(: lt Type)(: rt Type). (: (tail(

STRICT/typecheck.lm:tarray := λ(: lt Type)(: rt Type). (: (tail(

STRICT/typecheck.lm:tlabel := λ. (: (tail(

STRICT/typecheck.lm:without-representation := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:with-only-representation := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:with-representation := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:guess-only-representation := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-infer-ctx := λ(: tctx TContext)(: lhs AST). (: (tail(

STRICT/typecheck.lm:typecheck-typeof-var := λ(: sloc AST)(: tctx TContext)(: vname String). (: (tail(

STRICT/typecheck.lm:typecheck-domain := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:typecheck-range := λ(: tt Type). (: (tail(

STRICT/typecheck.lm:is-fragment-type := λ(: tt Type). (: (tail(

STRICT/utility.lm:list-tail-order-to-head-order := λ(: s S). (: (tail(

STRICT/utility.lm:is-variable := λ(: s String). (: (tail(

STRICT/utility.lm:is-suffix := λ(: base String)(: sfx String). (: (tail(

STRICT/utility.lm:remove-suffix := λ(: base String)(: sfx String). (: (tail(

STRICT/utility.lm:to-string := λ(: i U64). (: (tail(

STRICT/utility.lm:to-string := λ(: i I64). (: (tail(

STRICT/utility.lm:uuid := λ . (: (tail(

STRICT/utility.lm:dump-i := λ(: i U64). (: (tail(

STRICT/utility.lm:to-i64 := λ(: s String). (: (tail(

STRICT/utility.lm:to-u64 := λ(: s String). (: (tail(

STRICT/utility.lm:max := λ(: l U64)(: r U64). (: (tail(

STRICT/utility.lm:mangle-identifier := λ(: kt Type). (: (tail(

STRICT/utility.lm:mangle-identifier := λ(: k String). (: (tail(

STRICT/utility.lm:mangle-identifier := λ(: k String)(: kt Type). (: (tail(

STRICT/utility.lm:escape-string := λ(: s String). (: (tail(

STRICT/utility.lm:escape-string := λ(: s S). (: (tail(

STRICT/utility.lm:escape-literal := λ(: s String). (: (tail(