All Projects → iigura → Paraphrase

iigura / Paraphrase

Licence: MIT License
Multi-core suitable Forth-like language

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Paraphrase

Fucking Java Concurrency
🎏 Simple show cases of java concurrency problems, seeing 🙈 is believing 🐵
Stars: ✭ 779 (+2785.19%)
Mutual labels:  multi-threading, parallelism
Hamsters.js
100% Vanilla Javascript Multithreading & Parallel Execution Library
Stars: ✭ 517 (+1814.81%)
Mutual labels:  multi-threading, parallelism
Compute
A C++ GPU Computing Library for OpenCL
Stars: ✭ 1,192 (+4314.81%)
Mutual labels:  hpc, boost
NPB-CPP
NAS Parallel Benchmark Kernels in C/C++. The parallel versions are in FastFlow, TBB, and OpenMP.
Stars: ✭ 18 (-33.33%)
Mutual labels:  parallelism, multi-core
gtkmm-plplot
a scientific plotting library for Gtkmm leveraging the power of PLplot
Stars: ✭ 59 (+118.52%)
Mutual labels:  multi-platform, boost
Atmsimulator
Used the notion of threads and parallelism to make a ATM Simulator.
Stars: ✭ 11 (-59.26%)
Mutual labels:  multi-threading, parallelism
Quantum
Powerful multi-threaded coroutine dispatcher and parallel execution engine
Stars: ✭ 291 (+977.78%)
Mutual labels:  multi-threading, boost
Leaf
Lightweight Error Augmentation Framework
Stars: ✭ 201 (+644.44%)
Mutual labels:  multi-platform, multi-threading
charm
A [ functional stack ] based language.
Stars: ✭ 26 (-3.7%)
Mutual labels:  stack-based, concatenative-language
nautilus
Nautilus Aerokernel
Stars: ✭ 30 (+11.11%)
Mutual labels:  hpc, virtual-machine
PyMFEM
Python wrapper for MFEM
Stars: ✭ 91 (+237.04%)
Mutual labels:  hpc
LiteOTP
Multi OTP Spam Amp/Paralell threads
Stars: ✭ 50 (+85.19%)
Mutual labels:  multi-platform
kvm-host
A minimalist type 2 hypervisor using Linux Kernel Virtual Machine (KVM)
Stars: ✭ 60 (+122.22%)
Mutual labels:  virtual-machine
argobots
Official Argobots Repository
Stars: ✭ 71 (+162.96%)
Mutual labels:  hpc
Microverse
macOS virtualization app for M1/Apple Silicon
Stars: ✭ 71 (+162.96%)
Mutual labels:  virtual-machine
SelfPortal
One for all virtualization abstraction layer.
Stars: ✭ 22 (-18.52%)
Mutual labels:  virtual-machine
eraserface
dynamic polymorphism without inheritance
Stars: ✭ 31 (+14.81%)
Mutual labels:  boost
blas-benchmarks
Timing results for BLAS (Basic Linear Algebra Subprograms) libraries in R
Stars: ✭ 24 (-11.11%)
Mutual labels:  hpc
MACSio
A Multi-purpose, Application-Centric, Scalable I/O Proxy Application
Stars: ✭ 28 (+3.7%)
Mutual labels:  hpc
b9
An educational JS virtual machine based on Eclipse OMR
Stars: ✭ 40 (+48.15%)
Mutual labels:  virtual-machine

Paraphrase ver. 0.94.0

Copyright (c) 2018-2021 Koji Iigura
Released under the MIT license
https://opensource.org/licenses/mit-license.php

マルチコア対応 Forth 系言語

Paraphrase はマルチコアに対応した Forth 系言語です。
スレッド間通信もサポートしており、 並列処理も簡単に記述できます。

// サンプルプログラム: 1 から 1,000 万までの素数を数える
"prime?" :
    switch
        case 1 ==    -> false break
        case 2 ==    -> true  break
        case 2 % 0?  -> false break
        default
            true swap dup sqrt ceil >int 1+ 3 swap
            for+ dup i % 0? if swap drop false swap leave then 2 step next drop
    dispatch
;

reset-pipes

// 奇数については並列処理で調べる
[ /* scatter */  3 10000000 for+ i >pipe 2 step next ]

// 複数スレッドで検証作業(=woker thrread)
[[
    while-pipe
        dup prime? if >pipe else drop then
    repeat
]]

// gather
() 2 dup prime? if append then // 2 については、ここで調査
while-pipe append repeat { < } sort
( "numOfPrimes=%d (%d ... %d)\n" {{ @size }}, {{ @car }}, {{ last >here }} ) printf

上のプログラムの出力

numOfPrimes=664579 (2 ... 9999991)

マルチプラットフォーム対応

Windows, Linux, MacOS に対応しています。

すぐ使える:ビルド済みパッケージを使う場合

ダウンロードして解凍(展開)するだけです。
インストール不要で、すぐに実行できます。

以下のリンク(Google Drive)をクリックし、それぞれのプラットフォーム用のパッケージを入手して下さい。

https://drive.google.com/drive/folders/18c2NPG09uOakcBnqGM43bLHMD90hGxVZ

Windows 版 para-0-94-0-win.zip
Linux 版 para-0-94-0-linux.tar.gz
MacOS 版 para-0-94-0-mac.tar.gz

展開して para (Windows 版は para.exe)を実行して下さい (同梱されるファイルについては、 FILES.txt を 見て下さい)。

終了方法は、Linux や Mac の場合 Ctrl-D または Ctrl-C です。
Windows では Ctrl-Z を入力後リターンキーを押すか、Ctrl-C で終了します。

ソースコードからビルドする場合

git clone https://github.com/iigura/Paraphrase.git でクローン。
ビルド方法の詳細は、 BUILD.txt を 見て下さい。

その他

サンプルプログラムの概要は samples ディレクトリの中の SAMPLES.txt を 見て下さい。

開発者が日本人なので、質問などは日本語で OK。 Paraphrase に関する情報は Twitter ( @paraphrase_lang ) や Facebook ( Paraphrase ユーザー会 ) にて発信中です。

バグレポートや要望・質問などは Facebook の方に書いて頂ければ助かります。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].