about summary refs log tree commit diff stats
path: root/subx/001help.cc
Commit message (Expand)AuthorAgeFilesLines
* 5133 - show instruction source in traceKartik Agaram2019-04-281-4/+2
* 5131Kartik Agaram2019-04-271-4/+5
* 4857Kartik Agaram2018-12-061-3/+12
* 4694Kartik Agaram2018-10-131-0/+5
* 4637 - subx: support multiple input filesKartik Agaram2018-10-011-1/+1
* 4624Kartik Agaram2018-09-301-1/+1
* 4436Kartik Agaram2018-07-271-2/+8
* 4427 - support for '--trace' argvKartik Agaram2018-07-261-0/+15
* 4413Kartik Agaram2018-07-251-3/+1
* 4412Kartik Agaram2018-07-251-1/+1
* 4411Kartik Agaram2018-07-251-2/+6
* 4409Kartik Agaram2018-07-251-3/+7
* 4381Kartik Agaram2018-07-201-0/+3
* 4378Kartik Agaram2018-07-201-1/+1
* 4376 - subx: online help includes supported opcodesKartik Agaram2018-07-201-3/+5
* 4375Kartik Agaram2018-07-201-20/+19
* 4374 - starting to use the online help systemKartik Agaram2018-07-201-1/+3
* 4373 - subx: beginnings of online helpKartik Agaram2018-07-201-9/+46
* 4289 - beginnings of a translator to ELFKartik Agaram2018-06-301-3/+2
* 4277 - make room for a 'compile' sub-commandKartik Agaram2018-06-271-1/+3
* 4276 - switching gears to subxKartik Agaram2018-06-271-1/+4
* 4063Kartik K. Agaram2017-10-141-2/+2
* 4014 - core skeleton for x86 interpreterKartik K. Agaram2017-10-111-16/+4
* 4011 - start of sub-x86 VMKartik K. Agaram2017-10-091-2/+2
* 3930 - experimental bytecode interpreterKartik K. Agaram2017-06-191-0/+220
>output: # 1 # 2 # 3 def main [ local-scope l:&:list:num <- copy null l <- push 3, l l <- push 2, l l <- push 1, l k:continuation, x:num, done?:bool <- call-with-continuation-mark 100/mark, create-yielder, l { break-if done? $print x 10/newline k, x:num, done?:bool <- call k loop } ] def create-yielder l:&:list:num -> n:num, done?:bool [ local-scope load-inputs { done? <- equal l, null break-if done? n <- first l l <- rest l return-continuation-until-mark 100/mark, n, done? loop } # A function that returns continuations shouldn't get the opportunity to # return. Calling functions should stop calling its continuation after this # point. return-continuation-until-mark 100/mark, -1, done? assert false, [called too many times, ran out of continuations to return] ]