Joy Jupyter kernel loads defs.txt
This commit is contained in:
@@ -87,6 +87,7 @@ sum [+] step_zero
|
||||
swapd [swap] dip
|
||||
swons swap cons
|
||||
swoncat swap concat
|
||||
sqr dup mul
|
||||
tailrec [i] genrec
|
||||
take [] roll> [shift] times pop
|
||||
ternary binary popd
|
||||
|
||||
+13
-1
@@ -23,11 +23,14 @@ functions. Its main export is a Python function initialize() that
|
||||
returns a dictionary of Joy functions suitable for use with the joy()
|
||||
function.
|
||||
'''
|
||||
from pkg_resources import resource_stream
|
||||
from io import TextIOWrapper
|
||||
from inspect import getdoc, getmembers, isfunction
|
||||
from functools import wraps
|
||||
from itertools import count
|
||||
import operator, math
|
||||
|
||||
from . import __name__ as _joy_package_name
|
||||
from .parser import text_to_expression, Symbol
|
||||
from .utils import generated_library as genlib
|
||||
from .utils.errors import (
|
||||
@@ -44,6 +47,14 @@ from .utils.stack import (
|
||||
)
|
||||
|
||||
|
||||
def default_defs(dictionary):
|
||||
def_stream = TextIOWrapper(
|
||||
resource_stream(_joy_package_name, 'defs.txt'),
|
||||
encoding='UTF_8',
|
||||
)
|
||||
Def.load_definitions(def_stream, dictionary)
|
||||
|
||||
|
||||
HELP_TEMPLATE = '''\
|
||||
|
||||
==== Help on %s ====
|
||||
@@ -190,7 +201,8 @@ class Def(object):
|
||||
if line.lstrip().startswith('#'):
|
||||
continue
|
||||
name, body = text_to_expression(line)
|
||||
inscribe(class_(name, body), dictionary)
|
||||
if name not in dictionary:
|
||||
inscribe(class_(name, body), dictionary)
|
||||
|
||||
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user