arret
Pure functional Lisp implemented in Rust
파일 탐색기
최종 버전 다운로드 (.zip)- build-and-test.sh
- llvm-assert.Dockerfile
- pipeline.yml
- sync-rustdoc.sh
- update-multiarch-manifest.sh
- vscode-extension-tests.sh
- CODEOWNERS
- renovate.json
- core.rs
- mod.rs
- plan.rs
- types.rs
- escape.rs
- mod.rs
- names.rs
- box_layout.rs
- callee.rs
- const_gen.rs
- debug_info.rs
- fun_gen.rs
- jit.rs
- libcstr.rs
- math_gen.rs
- mod.rs
- mod_gen.rs
- op_gen.rs
- panic_gen.rs
- program.rs
- range_md.rs
- record_struct.rs
- target_gen.rs
- target_machine.rs
- vector_gen.rs
- filter.rs
- mod.rs
- parse.rs
- expander.rs
- linker.rs
- matcher.rs
- mod.rs
- destruc.rs
- error.rs
- exports.rs
- loader.rs
- lowering.rs
- mod.rs
- ns.rs
- prim.rs
- records.rs
- scope.rs
- types.rs
- util.rs
- var_id.rs
- visitor.rs
- bitwise.rs
- list.rs
- math.rs
- mod.rs
- num_utils.rs
- number.rs
- panics.rs
- partial_print.rs
- print.rs
- testing.rs
- vector.rs
- duplicate_alloc_ops.rs
- mod.rs
- unused_ops.rs
- arret_fun.rs
- build_reg.rs
- from_reg.rs
- list.rs
- mod.rs
- plan_phi.rs
- synthetic_fun.rs
- to_const.rs
- types.rs
- app_purity.rs
- arg_list.rs
- builder.rs
- costing.rs
- env_values.rs
- equality.rs
- error.rs
- eval_hir.rs
- inliner.rs
- mod.rs
- ops.rs
- polymorph.rs
- printer.rs
- record_field.rs
- ret_value.rs
- rust_fun.rs
- specific_abi_type.rs
- tagset.rs
- typred.rs
- vector_member.rs
- mod.rs
- arity.arret
- bit-shift-left-negative.arret
- bit-shift-right-overflow.arret
- destruc-errors.arret
- fn-lowering-errors.arret
- if-errors.arret
- import-parse-errors.arret
- macro-errors.arret
- misc-body-errors.arret
- misc-top-level-errors.arret
- missing-module.arret
- no-main.arret
- overflow-add.arret
- overflow-multiply.arret
- overflow-quot.arret
- overflow-subtract.arret
- quot-by-zero.arret
- record-errors.arret
- recur-errors.arret
- reference-errors.arret
- rem-by-zero.arret
- syntax-error.arret
- type-checking-errors.arret
- type-lowering-errors.arret
- vector-assoc-negative.arret
- vector-assoc-out-of-bounds.arret
- vector-ref-negative.arret
- vector-ref-out-of-bounds.arret
- wrong-main-type.arret
- application.arret
- bitwise.arret
- const.arret
- equality.arret
- inliner.arret
- list.arret
- math.arret
- number.arret
- typred.arret
- vector.arret
- impure-panic.arret
- impure-panic.stderr
- infinite-to-int.arret
- infinite-to-int.stderr
- nan-to-int.arret
- nan-to-int.stderr
- overflow-add.arret
- overflow-add.stderr
- overflow-multiply.arret
- overflow-multiply.stderr
- overflow-quot.arret
- overflow-quot.stderr
- overflow-subtract.arret
- overflow-subtract.stderr
- pure-panic.arret
- pure-panic.stderr
- quot-by-zero.arret
- quot-by-zero.stderr
- rem-by-zero.arret
- rem-by-zero.stderr
- application.arret
- binding.arret
- bitwise.arret
- closure-typing.arret
- closure.arret
- comments.arret
- conditionals.arret
- divergence.arret
- empty.arret
- equality.arret
- hash.arret
- list.arret
- macros.arret
- math.arret
- number.arret
- occurrence-typing.arret
- read.arret
- record.arret
- recursion.arret
- set.arret
- type-definitions.arret
- typred.arret
- vector.arret
- write.arret
- integration.rs
- conv_abi.rs
- datum.rs
- intersect.rs
- is_a.rs
- list_iter.rs
- mod.rs
- pred.rs
- props.rs
- purity.rs
- record.rs
- select.rs
- subst.rs
- subtract.rs
- ty_args.rs
- unify.rs
- var_usage.rs
- dce.rs
- destruc.rs
- error.rs
- infer.rs
- mod.rs
- arret_root.rs
- Cargo.toml
- context.rs
- id_type.rs
- lib.rs
- promise.rs
- repl.rs
- reporting.rs
- source.rs
- language-design.md
- arret_helper.rs
- command.rs
- history.rs
- mod.rs
- syntax.rs
- compile.rs
- eval.rs
- mod.rs
- hello-world.arret
- run.sh
- Cargo.toml
- main.rs
- launch.json
- settings.json
- tasks.json
- sample.arret
- sample_arret.json
- colorization.test.ts
- extension.test.ts
- index.ts
- downloadVsCode.ts
- runTest.ts
- vsCodeVersion.ts
- extension.ts
- arret.tmLanguage.json
- .dockerignore
- .eslintrc.yml
- .gitignore
- Dockerfile
- language-configuration.json
- package.json
- tsconfig.json
- yarn.lock
- mod.rs
- text_synchronisation.rs
- workspace.rs
- document.rs
- mod.rs
- workspace.rs
- bytestream.rs
- mod.rs
- mod.rs
- syntax.rs
- capabilities.rs
- Cargo.toml
- json_rpc.rs
- main.rs
- session.rs
- Cargo.toml
- lib.rs
- collect.rs
- mod.rs
- type_info.rs
- char.rs
- field_value.rs
- float.rs
- fun.rs
- int.rs
- list.rs
- map.rs
- mod.rs
- record.rs
- record_data.rs
- set.rs
- shared_str.rs
- str.rs
- sym.rs
- vector.rs
- mod.rs
- refs.rs
- mod.rs
- vector.rs
- abitype.rs
- binding.rs
- callback.rs
- Cargo.toml
- class_map.rs
- compiler_support.rs
- intern.rs
- lib.rs
- task.rs
- Cargo.toml
- lib.rs
- reader.rs
- writer.rs
- base.arret
- set.arret
- test.arret
- bitwise.rs
- Cargo.toml
- hash.rs
- lib.rs
- list.rs
- math.rs
- number.rs
- read.rs
- set.rs
- testing.rs
- vector.rs
- write.rs
- anon_fun.rs
- Cargo.toml
- datum.rs
- error.rs
- lib.rs
- parser.rs
- span.rs
- .arret-root
- .dockerignore
- .gitignore
- .prettierrc
- Cargo.lock
- Cargo.toml
- docker-compose.yml
- Dockerfile
- LICENSE
- README.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/etaoins/arret
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd arret
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천사전 준비물
- Rust (rustup) cargo 명령어를 쓰려면 Rust가 필요합니다.
cargo install --path lsp-server
이 명령어를 터미널에 그대로 입력해 실행하세요.
설치 후 새 터미널을 열고, 프로그램의 버전 확인 명령(예: --version)으로 정상 설치됐는지 확인하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
> docker run -ti ghcr.io/etaoins/arret-repl
빌드된 이미지를 실제 컨테이너로 실행합니다.
> docker run -i ghcr.io/etaoins/arret-repl eval - < hello-world.arret
빌드된 이미지를 실제 컨테이너로 실행합니다.
터미널에 docker compose ps 를 입력해 컨테이너들이 Up 상태인지 확인하세요. README에 포트 번호가 적혀있다면 브라우저에서 http://localhost:포트번호 로 접속해보세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
4. Node.js
쉬움사전 준비물
yarn
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
yarn vscode:install
이 명령어를 터미널에 그대로 입력해 실행하세요.
명령어 실행 후 터미널에 나타나는 주소(보통 http://localhost:3000 형태)를 브라우저에서 열어보세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
5. Rust
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Rust (rustup) rustup으로 설치하면 cargo도 함께 설치됩니다.
> cargo run repl
빌드 후 바로 실행까지 진행합니다.
> cargo run compile hello-world.arret
빌드 후 바로 실행까지 진행합니다.
cargo install --path lsp-server
이 명령어를 터미널에 그대로 입력해 실행하세요.
cargo build가 에러 없이 끝나면 성공입니다. target/ 폴더에 실행 파일이 생성됩니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
