Cree#,一种与Cree关键字和概念的语素编程语言

2021-04-12 01:21:29

Jon Corbett' S语言CREE#和祖先代码允许使用CREE概念和隐喻进行CREE关键词进行编程。除了这种语言外,Corbett'博士研究导致了他的土着编码框架,这是一个有助于其他土着社区的进展,不仅为他们的语言而且它们的文化逻辑和价值观。 Corbett描述了这项工作的挑战,从这种系统中意外包括殖民地理解的危险,与假设编程语言具有罗马字符关键字的技术。

»首先,对于尚未熟悉Cree#的人,您可以描述您预期的使用方式?

我所需的这种语言的输出是基于图形的。我最初设想它是一种“用于土着语言的处理”。输出是生成和图形的地方。生成方面在土着世界观的代表中至关重要,因为当程序结束时,无论生成的任何展示都被摧毁(到期结束)。随后运行该程序 - 尽管它们可能产生类似的结果将永远不会与以前的任何执行图形相同。这模仿了“真正的”世界相当于听听故事讲述者的故事 - 谁每次都会稍微改变它,所以相同的故事永远不会是两次。此外,许多土着人民用他们的艺术和工艺作为知识和故事历史。因此,能够从故事创建图形将语言与视觉存档相关联,并将创新过程移动到具有相同结果的数字练习中。

»它是否​​完全由故事讲述(在代码本身和执行中)?

是的。使用Nehiyawewin Syllabics的故事表格提供了编程输入。这意味着现有故事可用于输入,尽管它们可能需要一些格式化调整,但输入被认为是基于故事的。输出也是基于故事的,因为它描绘了故事的视觉表现形式的视觉表示。但是,输出也取决于程序员具有的可视数据的集合。例如,我目前有一个“乌鸦”的动画库,所以我可以讲述一个“乌鸦”的故事。但是,如果用“熊”和“乌鸦”的故事告诉故事,它只会显示“乌鸦”,直到我介绍至少一个图像来代表“熊”。目前需要这些视觉集合,但我希望在具有这些类型的字符中包含具有指令的模块,然后通过程序本身完全构建。 (但那是一个未来的视觉思想,我还没有那里)。

可能,但取决于你对世俗的定义......例如,如果我想说渲染一个功能计算器,那么是的,我想我可以这样做。但如果我想为XML文档编写读取解析方法/函数 - 那么可能不是。

它是(仍然是)在激进的助焊状态 - 我拍摄了我的代码线编辑器概念,并开始在我的招股说明书中添加一些评论和建议。我现在带来了一堆可视编码的想法,不会中断“故事流”。但随着快速贯穿:

从“污迹”命令开始准备程序向用户显示视觉烟雾流以模拟涂抹

执行代码现在代码是一个整体故事。无论是由程序员写的,还是转录到编程接口,这是应用程序的基础。我目前建设的界面是其他接口的组合,但具有几乎电影编辑结构,程序员在相关点添加或插入“动词”,如果需要,进一步应用“名词”或参数。

另外,可以为这些插入点提高命令行编码接口,以提供IF /必要时的直接编码。

因为代码可以非常快地运行,所以有一个“速度/时间”控件,曾经存在的程序员可以在事件触发时用于控制。

以下是我到目前为止的Coding令牌的当前列表,只是让您了解语言本身的各个方面:运营商(动词)传输或-si(如后缀) - 使一些更小的东西减少1

x - 结束一个语句(这不是小写x,它是一个看起来像小写x的音节,用作完整停止)

演员(故事中的常见实体,不能用作通用“名词”变量分配)

数字akihtâson - 字面意思是“一个数字”;与音节数字结合使用,以将文本音节与数字分开:ᐊᑭᐦᑖᓱᐣlᐅᐅ([它们] 4人)

这在我的新UI中更改,您可以在其中突出显示/标记数字,而不是指定下一个“字”是上面(b)示例中的数字值

就使用“MIHCECIS”等非数字数字而言,我已经构造为将这些数字100到1K,1K至100K,1K为100K至1M的随机。由于我要创建的输出的生成性质,我希望这些表示是任意的,不可控制的,从而反映我们无法控制的自然的方面。我仍然觉得系统需要一些这种自主权,并且程序员不能总是完全控制。

»Cree#(如Cree)是一种动态语言。你能解释一下Word Construction如何工作的方法吗?

虽然我使用Cree#(主要用于英语扬声器)。实际上,我一直在研究的编程概念的3个不同的迭代:

Cree#是我的语言,包括西方标点符号和符号方法,以及类似C#和Java的编码语言。

祖先的代码是我试图删除这些符号并坚持更多“基于故事的”NPL样式语言,即我更专注于现在正在开发。

和Wisakecak(听起来有点像“英文”威士忌“)是”乌鸦,骗子“谁是”上帝“的学习和知识中的”上帝“的人物。这种语言的迭代是两者的一种混合动力(我在问题10中简要触摸它)。

但是,除了我在讨论如何编写编程语言,以及这里的所有问题和答案都是从这个角度来看,我的Cree#版本是我投入了一个公平的时间。

所以在建设方面 - 这只是一个常规的语言示例:Cree中的英语单词马是“Mistatim”,这是一个“Mista”和“Atim”的化合物,这对英语翻译为“制作大”和“一只狗” “(基于背景,如果你在农场上,Mistatim没有毫无疑问,并且在宠物商店,你实际上可能谈论一只大狗)。但是,您还可以在“Atimiss”(狗制成的狗)中添加一个逐渐变为“Atim”,然后是所有三个“缺失”的组合(再次基于上下文)是一个“小马/或小马”或者“大狗的小狗”。这种施工允许您改变一个单词,以使其更改意义,并且是必要的,因为Cree只有名词和动词的形容词或副词。因此,作为名词的“小狗”是名词“狗”和动词“制作小”的化合物。目前我在图像缩放函数中使用这些想法。使用“Mista”作为名词的前缀表示它更大,并且后缀“孤岛”或“是”表示它较小。所以例如使用“乌鸦”(Kahkakiw):在更大的尺寸下显示乌鸦我使用Mistakahkakiw,使其变得更小,它变得越来越雄辩(“结束”版本)。我们可以使用另一种称为重副本的语音介质作品来应用一种“重复”或“循环”。这通常是“MA”或“PA”或第一音节的重复。例如,“pimohte”这个词是“走路/步骤”的词,“papimohte”走路(但不连续),“Papapimohte”是“一直行走(即连续地走路)”。我也使用“kan / ihkan”后缀进行变量,这个后缀只是表示名词是人为的。所以人们可以写“Kahkakiw Kahkakiwihkan”,它松散地翻译为“乌鸦是一个人为乌鸦”或更传统的等价符号:

如上,KAN / IHKAN后缀用于识别变量。没有前面的单词,变量实际上是自分配的,因为它是语义冗余的。所以,只需在“Kahkakiw”的名词之前,使用Just Kahkakiwihkan成为变量,并相当于说:(变量“人工乌鸦”等于实际的乌鸦(图书馆))或更传统的仇集代码符号

数字和算术运算符由Cree Syllabics表示,但通常在视觉上变小。虽然Cree Numeracy不再被广泛练习,但我们在大多数情况下采用阿拉伯数字,仍有遗赠讲话者仍然知道这个数字框架。

基本数字音节图(1到100)如下所示:单个数字“oon”和“Two”由垂直线“L”或“Sticks”表示

当你有三个棍子时,他们将它们与3的“ᐅ”字符相结合

“ᐅᐊ”的组合也可以被读为“差不多七”

一个有趣的笔记。 9在Cree中的书面字是“kika-mitataht”,字面上转化为“差不多10”,但Cree numer是“ᐊll”或7 + 2

归零是8个尖星,“✷”格栅(Unicode 2737)或“✴”(Unicode 2734)是Unicode中最接近的符号,但实际的星形应该具有面向垂直,水平的点,水平和每45度的点间隔,不是直线时尚。轮转8尖星“✵”是正确的想法,但不应该在外观上装饰。

一旦我有机会回到社区,我会看看我是否可以从用户获得反馈,如果任何现有的8点字形“❂✸✷✵✴⁕”将工作或者需要新的字形并添加到Syllabic Orthographic库中。

数学符号也由Sysllabics表示,例如“ᑲ”,用于乘法,即Syllabic“Ka”,但通常是许多Cree词中的前导音节。

然后,在此上下文中的数字必须以不同的颜色字体和接口中的不同大小呈现。我现在专门用于单独的字体,所以它们与代码部分的其余部分视觉上不同,因为这些符号也代表数字以及音节;当此刻使用数字时,代码中的混淆是一个挑战,特别是对解析。所以知道这些符号代表数字,与其他代码文本不同。

将写入简单计算的一个例子:并非如下:

»除了Cree#本身,你'重新设计土着计算框架;你能解释它的需求吗?和社区你希望它会用于服务吗?

现代计算框架(不仅仅是编程,而且一般计算技术)通常集中在通常不受土着文化中的效率,逻辑和选择。同样,计算机确实从不总是反映了“自然”命令的土着概念的时间和行为的概念发展。因此,土着计算框架投入实践土着概念和知识。它可能不一定会改变或改变计算机处理指令的方式,但它会改变建造和开发软件和硬件的哲学,例如我的Cree编程语言;和一个音节键盘,不符合现代计算实践普遍存在的水平划分键盘。

此外,该框架介绍了计算机的系统过程中的合理(即道德和精神)考虑,在传统的计算材料开发中不存在(据我所知)。确实存在一些关于“精神和技术”的研究,但没有任何知识,以证明将技术视为人类精神存在或存在的组成部分。 (科幻小说和机器人涉及这些东西,但我提出的是有点不同?我想?哈哈)

例如:污迹是一个小/个人仪式练习,药草(通常是Sweetgrass或Sage)被烧毁。然后,一个人通过他们的手和/或物体通过由此产生的烟雾跟踪来“祝福”。在正常的污迹中,你用手向你吸取烟雾 - “膏”你的头,耳朵,眼睛,嘴巴,心脏和身体。然后,你“祝福”任何你希望“清理”的任何负面能量,如食物,烟草,眼镜,显然甚至是你的笔记本电脑。基本上是任何负责/或可能影响您的身体或心理健康的东西可以(并且许多长老说应该)在使用前被弄脏。我已经听到了一些Cree和Métis长老,现在他们在谷歌之前弄脏了他们的笔记本电脑“净化它”。

使用本土计算框架 - 即使只是象征性,也可以编码这方面的数字表示。但功能示例是我用来开始“ACIMO”(讲述一个故事)的污声例程,这是我使用的术语,就像其他编程环境使用的术语“草图”。 CREE#语言中的这种涂抹例程重置了屏幕画布并在程序实际开始运行之前准备任何系统变量。

因此,这种重构或重新思考计算框架成为来自用户角度的意义的文化延伸(假设他们被投资于土着文化体验)。它超出了系统的要求,但定义了系统内的关系作为系统外部发生的文化实践,使得在人机关系方面更容易涉及。

显然,我的主要目标社区这里是寻找新的(和令人兴奋的)途中鼓励学生(特别是在K-12等级)中使用他们的遗产语言,并使用英语作为他们的主要语言来抵制。好吧,谈到计算时,如果他们的遗产语言没有资源,他们被迫采用西方做法和英语,以便与计算和计算机编程进行啮合。在加拿大,有接近600kmétis人(可能或可能不会说出他们的遗产语言),另一个10万人是Cree语言发言者,以及那些大约有180k的学龄儿童。因此,有一个很好的机会,能够在一个非常年轻的时代开始提供计算教育,而无需介绍太多的逻辑(即西方)构建,而无需削弱自己的文化习惯以适应西方理论以便参与用电脑。

目前,我现在与圣保罗·阿尔伯塔省蓝奎尔大学的人民合作,艾伯塔省的高水平的小红河Cree nation,并首先针对成年学习者,但我的目标是能够介绍这种编程语言和框架主要和中学课程更大的规模

»在你的谈话中,你提到意外包括殖民地理解的危险;您能否谈谈这一挑战以及如何决定在语言或框架中包含或排除特定功能?

有许多概念,作为程序员,我已经接受了。类似“数据类型”,变量“,”循环“,”条件“和”线性/顺序指令“。简单地将这些转化为Cree并不简单,因为这些概念中的一些不一定存在。将英语视为形成字母表的26个字母的集合,并且通常被教授为“ABC”。我们被教导阅读并在左右连续时尚的左侧阅读和学习这些字母,并且是一种算法方法。但是,Cree往往以非常启发式和有机的方式教授,并且很难在“字母顺序”中描述,这个组织系统并不总是有效。

因此,Cree更像是一种横向/并行思维形式的语言(而不是串行/顺序本身),因此创建一种依赖于线性的语言(IE按行过程)是那些“意外”之一。在为CREE设计的编程语言时,我的挑战是弄清楚的答案:

这个过程是必要的吗?即必须在线性系统中存在吗?我真的需要“代码行”吗?

可以按任意顺序分组和收集和收集和收集和执行的代码行,并仍然产生类似的结果,以严格的线性过程?

Syllabics的Cree Star图表是语言的2D表示,因此新的编程语言也可以以2D格式表示?那会怎么工作?一种更适合的视觉对象语言吗?

许多[英语]编程语言依赖于扩展符号和标点符号,如引号,半冒号,括号/括号等。要标记函数的代码 - 在Cree书面语言中,除了一个时期,没有标点符号。因此,引入标点符号和符号,这些标点符号和符号不是用于“编程”目的可接受的语言,或者是一种殖民均质化的形式?

拍摄像“变量”这样的其他物品 - 如果我尝试以Anglo的角度描述它,它是一个抽象项目,可以代表任何东西,从一件事到另一件事,除了我对Cree的理解中没有真正的相同,除了可能鲁巴鲁,这是一个Métis/ Cree“Shapeshifter”。所以也许我可以称之为人为“鲁巴鲁”的变量?但在功能方面,我可能会描述一个变量作为容器(如篮子),并且那个篮子可以填充任何东西,清空和重新填充其他东西。因此,声明一个变量我以两种方式设想 - 它是一个更改对象,或者可以更改内容的对象。现在哪一个对Cree语言用户更有意义?这是另一个步骤,我还没有收到任何反馈。

对于“数据类型”,这些是数字或字符串等实体的单独定义 - 再次对这样的概念没有差异化。分类作为一个概念是一个非常流体,我仍然在这个概念上工作,所以现在所有的变量都没有键入指定。

“条件”,我目前采用了“河流”的思想,从Alelo“夏威夷”C#编码组项目,所以而不是写作“如果a = b那么”你写的“河流进入较小的河流时= b,b = C,C = D等......“选择/案例”语句中的更多。但它带来了一种文化理解的感觉。

最后,在我的硬件设计中,我的Cree键盘基于Cree Star图表。在Anglo方向上,艺术方向几乎位于,使N始终指向页面顶部。但在Cree Star图表中(当我最近发现)时,n是页面的底部。因此,我的PCB设计必须改变(并且我将微处理器移动到电路板的左侧,称为e)。这是我西方假设方向是普遍的完美典范。微处理器对东方的方向很重要,因为它代表了太阳的开放 - 并且基于知识共享和传输,这是键盘便于的。所以换句话说,Cree Star图表在页面的左侧出现E而不是右边的e。所以对使用键盘的人说一个人来选择键盘的东侧的第一个音节字符,实际上意味着最接近电路板左侧的中心的钥匙(即,从内部读取到外部,并读取左边,因为北方面向朝下)。这些是往往忽视和编程的概念,在左右,顶到底部,或者我们和ns不适合Cree认知,并因为西方做法而意外地引入这些巨大挑战,即使我被抓住了在。

»在使用高分Unicode Cha的方面

......