Skip to content
/ Arcpp Public

An implementation of the Arc programming language

Notifications You must be signed in to change notification settings

kimtg/Arcpp

Repository files navigation

Arc++: An implementation of the Arc programming language

Arc is a dialect of Lisp.

Build

make

With readline support,

make readline

With MinGW,

mingw32-make mingw

For Visual C++, use .sln file. For Code::Blocks, use .cbp file.

Run

Usage: arc++ [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 dir dir-exists disp ensure-dir err expt eval file-exists flushout infile int is len log macex maptable mod mvfile newstring outfile pipe-from quit rand read readline rmfile scar scdr sin sqrt sread 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 sref 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

  • Reference counting garbage collection (shared_ptr)
  • Tail call optimization
  • Implicit indexing
  • Syntax sugar ([], ~, ., !, :)

See also

License

Copyright 2016-2023 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

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.

About

An implementation of the Arc programming language

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages