This is a macro expansion system that uses lbuilder3.macro to do the replacements.
a $ b $ 1 + 1turns into
(a (b 1 + 1))
You can use ? instead of ! to call functions.
Uses ltypekit6
x === stringturns into
((typeof x) == "string")import * from require "msmx" as msmxturns into
msmx = require "msmx"import a, b in msmxturns into
import a, b from require "msmx"
Brings std/<library> into the local scope, where <library> is any of:
wrap->cowrapyieldcreate->Coroutineresumestatus->costatusrunning->corunningisyieldable->isYieldable
gethookgetinfogetlocalgetmetatable->_getmetatablegetregistrygetupvaluegetuservaluesethooksetlocalsetmetatable->_setmetatablesetupvaluesetuservaluetracebackupvalueidupvaluejoin
close->closeIOflush->flushIOinput->inputIOlines->linesIOopen->openIOoutput->outputIOpopen->popenIOread->readIOtmpfile->tempfileIOtype->typeIOwrite->writeIO
All values are the same
clockdatedifftimeexecuteexitgetenvremove->fremoverename->frenamesetlocaletimetmpname->tempname
config->pkgConfigcpathpathloaded->pkgLoadedloadlib->pkgLoadpreload->pkgPreloadsearchers->pkgSearcherssearchpath->pkgSearchpath
bytechardumpfindformatgmatchgsublenlowermatchpack->packStringpacksizerepreversesubunpack->unpackStringupper
All values are the same
All values prefixed with utf8
import msmxturns into
msmx = require "msmx"import xmsmx as msmxturns into
msmx = require "xmsmx"a `fn` b
a <fn> bturns into
fn a, b
fn a, b<$>->__apply<.>->__compose<$!>->__apply_excl<|>->__alternative
a <=< "file"turns into
a = assert io.open "file", "r"not= aturns into
a = not a
a ?= bturns into
a = (a == nil) and b or aUses ltypekit6
f = ::> string -> stringturns into
f = sign "string -> string"Activates language features.
Syntax: {-# KEYWORD Argument #-}
Uses ltypekit6
import typeof from require "ltypekit.type"
typeof = nil
Uses ltypekit6.1
import typeE, data, metatype from require "ltypekit.type"
typeE, data, metatype = nil, nil, nil
Uses ltypekit6
import sign from require "ltypekit"
sign = nil
getmetatable''.__index = (str, i) -> string.sub str, i, i
getmetatable''.__call = string.sub
Uses ltypekit6 Requires LANGUAGE Signatures pragma
f :: string -> stringturns into
f = sign "string -> string"fncall x where
return yturns into
fncall x, (...) ->
return ydata Char which
name: "Char"turns into
data Char,
name: "Char"