All Projects → KxSystems → docs-v1

KxSystems / docs-v1

Licence: other
Source of code.kx.com/q

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
HTML
75241 projects

Projects that are alternatives of or similar to docs-v1

docs
Source for documentation site
Stars: ✭ 73 (+121.21%)
Mutual labels:  mkdocs, kdb, q
javakdb
Using Java with kdb+
Stars: ✭ 41 (+24.24%)
Mutual labels:  kdb, q
q4q
Source Code for "Q for Quants"
Stars: ✭ 22 (-33.33%)
Mutual labels:  kdb, q
q-mode
Emacs mode for editing q scripts and communicating with inferior q/qcon buffers
Stars: ✭ 21 (-36.36%)
Mutual labels:  kdb, q
vscode-q
vscode kdb+/q extension
Stars: ✭ 34 (+3.03%)
Mutual labels:  kdb, q
kdb nim
Nim Kdb type-safe bindings
Stars: ✭ 13 (-60.61%)
Mutual labels:  kdb, q
automl
Automated Machine Learning Framework for kdb+
Stars: ✭ 22 (-33.33%)
Mutual labels:  kdb, q
rkdb
R client for kdb+
Stars: ✭ 37 (+12.12%)
Mutual labels:  kdb, q
ml
Machine-learning toolkit
Stars: ✭ 48 (+45.45%)
Mutual labels:  kdb, q
ml.q
Machine Learning for kdb+/q
Stars: ✭ 25 (-24.24%)
Mutual labels:  kdb, q
kdb-tick
Latest source files for kdb+tick
Stars: ✭ 73 (+121.21%)
Mutual labels:  kdb, q
jupyterq
Jupyter kernel for kdb+
Stars: ✭ 87 (+163.64%)
Mutual labels:  kdb, q
kafka
kdb+ to Apache Kafka adapter, for pub/sub
Stars: ✭ 38 (+15.15%)
Mutual labels:  kdb, q
taller-de-git
Documentación del taller de git
Stars: ✭ 18 (-45.45%)
Mutual labels:  mkdocs
python-package-template
Easy to use template for great PyPi packages
Stars: ✭ 19 (-42.42%)
Mutual labels:  mkdocs
mkdocs-jupyter
Use Jupyter Notebook in mkdocs
Stars: ✭ 173 (+424.24%)
Mutual labels:  mkdocs
mkdocs-jekyll
The Material theme from MkDocs provided as a Jekyll template, optimized for GitHub Pages
Stars: ✭ 55 (+66.67%)
Mutual labels:  mkdocs
persianthinkpython
a fork from thinkpythonpersian in markdown
Stars: ✭ 14 (-57.58%)
Mutual labels:  mkdocs
wtfdocs
The source for https://wtfutil.com
Stars: ✭ 29 (-12.12%)
Mutual labels:  mkdocs
mkdocs-material
Documentation that simply works
Stars: ✭ 10,955 (+33096.97%)
Mutual labels:  mkdocs

Kdb+ documentation

This is Version 1 of the documentation site at code.kx.com.

It has now been taken offline.

The current version of the site is in the master branch of the docs repository.

Version 1.0

Rebuild of code.kx.com/wiki using the MkDocs static site generator.

The wiki enabled the kdb+ documentation to grow organically over the years. It is well organised for finding all uses of a word or glyph. Its replacement aims to

  • use a consistent vocabulary and typographical convention
  • distinguish clearly between a glyph and the function/s it denotes
  • categorise language primitives by application so, e.g. string-handling functions are listed together

Most of the wiki consists of three groups of articles:

  • Reference
  • Cookbook
  • Extracts from V1 and V2 of Q for Mortals

Local copy

If your Net connection is slow, you might prefer to download the site for local use from code.kx.com/offline.zip.

Reference

The Reference articles have been exported from the wiki and their content incorporated into a hierarchical table of contents. Details on each q function are arranged in pages grouped under /ref by semantic topic: see Reference/Semantics in the LHS navigation.

Cookbook

The Cookbook articles have been migrated.

Q for Mortals V3

Unlike the first two editions, Q for Mortals V3 is now published in its entirety online in HTML.

Links from the Reference and Cookbook to Q for Mortals have been replaced with links to Q for Mortals V3.

Not upwardly compatible

Rewriting the Reference material required settling the vocabulary in which q is described.

The term verb had been inherited from the J programming language but was an inexact fit for q, besides being unfamiliar to programmers generally.

We start from the common usages of operator and function; thus + is an operator.

A function’s rank is the number of arguments it takes. Functions of ranks 1 and 2 are no longer monads and dyads but (more familiarly) unary and binary functions.

+[2;3] demonstrates that operators are also functions; a q operator is a binary function that may be applied infix. From this we discover and, cut, upsert, over and other functions are also operators.

While adverb is unfamiliar to programmers generally, and loses explanatory power outside the J noun/verb/adverb metaphor, we need a term for the q primitives that are applied postfix and return a derivative (derived function), e.g. +/. Adverb survives by default, but we now improve clarity by distinguishing between the six glyphs and the twelve adverbs they denote.

q)f:count':       / count is unary  so ': is each-parallel
q)g:,':           / ,     is binary so ': is each-prior
q)f("abc";"xyz")  / each-parallel derivative is unary
3 3
q)g["abc";"xyz"]  / each-prior derivative is binary
"xabc"
"yx"
"zy"

Adverbs take functions as arguments but are not alone in doing so: operators such as fby, over, and scan do so, as may any lambda. This is unremarkable in functional languages.

K has ambivalent primitives, e.g. - can be applied infix as the binary function subtract or prefix as the unary function negate.

  5-3
2
  -3
-3

Q has no ambivalent primitives, but some derivatives are ambivalent.

q)tot:+/        / derivative
q)tot[til 6]    / unary
15
q)tot[2;til 6]  / binary
17

Contact

This is a project of the Kx Librarian

A librarian’s job is to put information where people can find it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].