},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
{
"cell_type": "code",
"execution_count": 12,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [
{
"name": "stdout",
{
"cell_type": "code",
"execution_count": 13,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [
{
"name": "stdout",
{
"cell_type": "code",
"execution_count": 15,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [
{
"name": "stdout",
{
"cell_type": "code",
"execution_count": 17,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [
{
"name": "stdout",
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"from joy.library import FunctionWrapper\n",
- "from joy.utils.stack import pushback\n",
+ "from joy.utils.stack import concat\n",
"from notebook_preamble import D\n",
"\n",
"\n",
" L\n",
" '''\n",
" L, (E, (G, (b, (a, stack)))) = stack\n",
- " expression = pushback(G if a > b else L if a < b else E, expression)\n",
+ " expression = concat(G if a > b else L if a < b else E, expression)\n",
" return stack, expression, dictionary\n",
"\n",
"\n",
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
},
{
"cell_type": "code",
- "execution_count": 31,
+ "execution_count": 32,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 32,
+ "execution_count": 33,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 33,
+ "execution_count": 34,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 34,
+ "execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
},
{
"cell_type": "code",
- "execution_count": 35,
+ "execution_count": 36,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 36,
+ "execution_count": 37,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 37,
+ "execution_count": 38,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 38,
+ "execution_count": 39,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 39,
+ "execution_count": 40,
"metadata": {
"scrolled": true
},
},
{
"cell_type": "code",
- "execution_count": 40,
+ "execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
},
{
"cell_type": "code",
- "execution_count": 41,
+ "execution_count": 42,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 42,
+ "execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
},
{
"cell_type": "code",
- "execution_count": 43,
+ "execution_count": 44,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 44,
+ "execution_count": 45,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 45,
+ "execution_count": 46,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": 48,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": 49,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 25,
+ "execution_count": 50,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 26,
+ "execution_count": 51,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 30,
+ "execution_count": 52,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 46,
+ "execution_count": 53,
"metadata": {},
"outputs": [],
"source": [
},
{
"cell_type": "code",
- "execution_count": 47,
+ "execution_count": 54,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 48,
+ "execution_count": 55,
"metadata": {
"scrolled": true
},
},
{
"cell_type": "code",
- "execution_count": 49,
+ "execution_count": 56,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 50,
+ "execution_count": 57,
"metadata": {},
"outputs": [],
"source": [
},
{
"cell_type": "code",
- "execution_count": 51,
+ "execution_count": 58,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 52,
+ "execution_count": 59,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 53,
+ "execution_count": 60,
"metadata": {},
"outputs": [
{
},
{
"cell_type": "code",
- "execution_count": 57,
+ "execution_count": 61,
"metadata": {
"scrolled": true
},
},
{
"cell_type": "code",
- "execution_count": 55,
+ "execution_count": 62,
"metadata": {},
"outputs": [
{
def dip(stack, expression, dictionary):
(quote, (x, stack)) = stack
expression = x, expression
- return stack, pushback(quote, expression), dictionary
+ return stack, concat(quote, expression), dictionary
Some functions are defined in equations in terms of other functions.