AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Cone 프로그래밍 언어
Cone Programming Language
개발 도구C · PythonGitHub @jondgoodwin직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Cone is a fast, fit, friendly, and safe systems programming language. It features:
The Cone compiler is currently under development. The current status and next steps are documented in PLAN.md.
This repository also holds the Congo build tool (tools/congo/) and
example Cone programs (samples/), both brought in with their history from
the former Cone home repository.
The language manual's source is in doc/manual/.
When finished, Cone will support these features:
The build depends on LLVM 23.1, built with the X86, WebAssembly and SPIR-V targets (the test suite compiles for all three), and uses CMake with the Ninja generator from a VS 2022 x64 prompt:
cmake -S . -B build\x64-release -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_DIR=<llvm root>\lib\cmake\llvm
cmake --build build\x64-release
Building LLVM itself on Windows, from llvm-project-23.1.2.src.tar.xz at
https://github.com/llvm/llvm-project/releases, with the same generator:
cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86;WebAssembly;SPIRV" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DCMAKE_INSTALL_PREFIX=<llvm root>
cmake --build build --target install
Only the llvm, cmake and third-party folders of the source are needed.
To build on Linux (x86-64; Ubuntu 24.04 is the one measured), install LLVM 23.1
with the X86, WebAssembly and SPIR-V targets from apt.llvm.org (its
llvm.sh 23 adds the repository, then sudo apt-get install llvm-23-dev), and
cmake, ninja-build and build-essential:
cmake -S . -B build/x64-release -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_DIR=/usr/lib/llvm-23/lib/cmake/llvm
cmake --build build/x64-release
python3 test/run.py --conec build/x64-release/conec
A plain program compiles, links and runs, and so do threads, the sync
package's locks and channels, and actors (the thread, sync and actors
packages bind pthreads and the futex), and so does what is built on the rest
of the OS: fs, path, env, process and posix over POSIX calls, and
iocore (sockets, UDP, timers, files) over epoll, with aio, http1 and
httpconn on top. TLS on Linux is not built yet.
conec makes position-independent
code by default on Linux, as the usual cc links position-independent
executables (--nopic opts out). Linking LLVM's static components takes about
850 MB of memory; on a small machine, changing
target_link_libraries(conec ${llvm_libs}) in CMakeLists.txt to
target_link_libraries(conec LLVM m) links the shared libLLVM.so instead
(about 100 MB), a change to keep local.
To build on Mac OS:*
brew install --with-toolchain llvm
llvm-config --bindir
CMake will auto-detect LLVM, so all you should need to do:
cmake .
make
More detailed instructions: https://github.com/ianxek/cone-misc/blob/main/install_cone_on_mac.md
The Cone programming language compiler is distributed under the terms of the MIT license.
See LICENSE and COPYRIGHT for details. The two Phacelle noise files in
packages/noise/src (phacelle.*) are under the Mozilla Public License 2.0.