Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kimtg/arcadia
An implementation of the Arc programming language
https://github.com/kimtg/arcadia
arc garbage-collection lisp
Last synced: 15 days ago
JSON representation
An implementation of the Arc programming language
- Host: GitHub
- URL: https://github.com/kimtg/arcadia
- Owner: kimtg
- Created: 2014-09-06T07:43:33.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-06-27T13:58:35.000Z (5 months ago)
- Last Synced: 2024-08-01T15:05:15.039Z (3 months ago)
- Topics: arc, garbage-collection, lisp
- Language: C
- Homepage:
- Size: 673 KB
- Stars: 197
- Watchers: 15
- Forks: 23
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Arcadia: An implementation of the Arc programming language #
Arc is a dialect of Lisp.
## Build
```
make
```With [readline](http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html) support,
```
make readline
```With [MinGW](http://www.mingw.org/),
```
mingw32-make mingw
```For Visual C++, use .sln file.
## Run
```
Usage: arcadia [OPTIONS...] [FILES...]OPTIONS:
-h print this screen.
-v print version.
```## Special form
`assign do fn if mac quote`## Built-in
`* + - / < > apply bound car ccc cdr close coerce cons cos disp err expt eval flushout infile int is len log macex maptable mod newstring outfile pipe-from quit rand read readline scar scdr sin sqrt sread sref stderr stdin stdout string sym system t table tan trunc type write writeb`## Library
`++ -- <= = >= aand abs accum acons adjoin afn aif alist all alref and andf assoc atend atom avg before best bestn caar cadr carif caris case caselet catch cddr check commonest compare complement compose consif conswhen copy copylist count counts cut dedup def defmemo do1 dotted drain each empty even fill-table find firstn flat for forlen get idfn iflet in insert-sorted insort insortnew intersperse isa isnt iso join keep keys last len< len> let list listtab loop map map1 mappend max med median mem memo memtable merge mergesort min mismatch most multiple n-of nearest no noisy-each nor nthcdr number obj odd on only ontable or orf pair point pop pos positive pr prn pull push pushnew quasiquote rand-choice rand-elt range reclist recstring reduce reinsert-sorted rem repeat retrieve rev rfn rotate round roundup rreduce set single some sort split sum summing swap tablist testify tuples trues union uniq unless until vals w/table w/uniq when whenlet while whiler whilet wipe with withs zap`## Features
* Easy-to-understand mark-and-sweep garbage collection
* Tail call optimization
* Implicit indexing
* [Syntax sugar](http://arclanguage.github.io/ref/evaluation.html) (`[]`, `~`, `.`, `!`, `:`)## See also
* [Arc Tutorial](http://www.arclanguage.org/tut.txt), [Arc Tutorial (HTML)](https://arclanguage.github.io/tut-stable.html)
* [Arc Documentation](http://arclanguage.github.io/ref/index.html)
* [Try Arc: Arc REPL In Your Web Browser](http://tryarc.org/)## License ##
Copyright 2014-2024 Kim, Taegyoon
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.