Skip to content

Commit

Permalink
docs(README): 📝 translate README into English
Browse files Browse the repository at this point in the history
  • Loading branch information
ARCJ137442 committed Aug 26, 2023
1 parent 027fdba commit 26bc1f6
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 2 deletions.
65 changes: 65 additions & 0 deletions README-en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# JuNarsese

[中文](https://github.com/ARCJ137442/JuNarsese.jl/blob/main/README.md) | **English**

[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
[![Static Badge](https://img.shields.io/badge/julia-package?logo=julia&label=1.8%2B)](https://julialang.org/)

This project uses [Semantic Versioning 2.0.0](https://semver.org/) for version management.

A [Julia](https://github.com/JuliaLang/julia) implementation of Narsese (the knowledge representation language of NARS)

- Provides data structure representation, access, and conversion support for other libraries that use Narsese

## Overview

JuNarsese contains two main modules:

- **Narsese**: Data structures of Narsese
- Terms (NAL-1 ~ NAL-8)
- Statements (punctuation, truth value, timestamp)
- **Conversion**: For converting between data structures
- Provides parser API
- Abstract parser type
- "Type-based parser" and "object-based parser"
- Implements the conversion between the above data structures and the following common structures
- String
- AST (abstract syntax tree, corresponding to Julia type `Expr`)
- Native (native julia types including `Dict` and `Vector`)

## Installation

As a **Julia package**, you only need to:

1. With the `Pkg` package manager installed,
2. Run the following code in REPL (`julia.exe`):

```julia
using Pkg
Pkg.add(url="https://github.com/ARCJ137442/JuNarsese.jl")
```

In REPL, by press key `]`, you also can:

```REPL
(v1.8) pkg> add https://github.com/ARCJ137442/JuNarsese.jl
```

## Author's note

1. The project was initially for personal learning and research, some development standards may be lacking
2. The project was also used as a personal experiment project for learning Julia, the code contains a lot of comments and notes
3. Due to the lack of relevant information, some of the syntax parsing may not achieve the best results (such as LaTeX)
4. As of August 2023, the project has not been applied to any complete project that implements NARS (the code may be refactored in the future)

## Future outlook

- Project development standards integration
- Data structure performance optimization
- Provide extensible API for Narsese module

## References

- [OpenJunars](https://github.com/AIxer/OpenJunars)
- [OpenNARS](https://github.com/opennars/opennars)
- [PyNARS](https://github.com/bowen-xu/PyNARS)
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# JuNarsese

**中文** | [English](https://github.com/ARCJ137442/JuNarsese.jl/blob/main/README_en.md)

[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
[![Static Badge](https://img.shields.io/badge/julia-package?logo=julia&label=1.8%2B)](https://julialang.org/)

Expand All @@ -22,11 +24,12 @@ JuNarsese包含两个主要模块:
- 「基于类型的解析器」与「基于对象的解析器」
- 实现上述数据结构与以下常用结构的相互转化
- 字符串
- AST(抽象语法树)
- AST(抽象语法树,对应Julia的`Expr`类型)
- 原生(Julia的原生类型,包括`Dict``Vector`

## 安裝

作为一个**Julia包**您只需
作为一个**Julia包**只需

1. 在安装`Pkg`包管理器的情况下,
2. 在REPL(`julia.exe`)运行如下代码:
Expand All @@ -36,6 +39,12 @@ using Pkg
Pkg.add(url="https://github.com/ARCJ137442/JuNarsese.jl")
```

在REPL,通过按下 `]` 键,同样可以:

```REPL
(v1.8) pkg> add https://github.com/ARCJ137442/JuNarsese.jl
```

## 作者注

1. 项目最初仅作个人学习研究,一些开发规范可能欠缺
Expand Down

0 comments on commit 26bc1f6

Please sign in to comment.