Skip to content

Commit

Permalink
lang/bend: New port: Massively parallel, high-level programming language
Browse files Browse the repository at this point in the history
  • Loading branch information
yurivict committed May 19, 2024
1 parent 5c99d2c commit cdb51da
Show file tree
Hide file tree
Showing 4 changed files with 249 additions and 0 deletions.
1 change: 1 addition & 0 deletions lang/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
SUBDIR += awka
SUBDIR += bas2tap
SUBDIR += basic256
SUBDIR += bend
SUBDIR += bsh
SUBDIR += bwbasic
SUBDIR += c
Expand Down
98 changes: 98 additions & 0 deletions lang/bend/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
PORTNAME= bend
DISTVERSION= 0.2.7
CATEGORIES= lang
PKGNAMESUFFIX= -language

MAINTAINER= yuri@FreeBSD.org
COMMENT= Massively parallel, high-level programming language
WWW= https://higherorderco.com

LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE-APACHE

BUILD_DEPENDS= rust-nightly>0:lang/rust-nightly
RUN_DEPENDS= hvm:devel/hvm

USES= cargo

USE_GITHUB= yes
GH_ACCOUNT= HigherOrderCO
GH_PROJECT= Bend

CARGO_BUILDDEP= no
CARGO_CRATES= TSPL-0.0.9 \
TSPL-0.0.12 \
anstream-0.6.14 \
anstyle-1.0.7 \
anstyle-parse-0.2.4 \
anstyle-query-1.0.3 \
anstyle-wincon-3.0.3 \
arrayvec-0.7.4 \
autocfg-1.3.0 \
bitflags-2.5.0 \
cc-1.0.97 \
cfg-if-1.0.0 \
clap-4.5.4 \
clap_builder-4.5.2 \
clap_derive-4.5.4 \
clap_lex-0.7.0 \
colorchoice-1.0.1 \
console-0.15.8 \
either-1.12.0 \
encode_unicode-0.3.6 \
equivalent-1.0.1 \
hashbrown-0.14.5 \
heck-0.5.0 \
highlight_error-0.1.1 \
hvm-core-0.3.0-hvm32.compat.2 \
indexmap-2.2.6 \
insta-1.39.0 \
interner-0.2.1 \
is_terminal_polyfill-1.70.0 \
itertools-0.11.0 \
lazy_static-1.4.0 \
libc-0.2.153 \
linked-hash-map-0.5.6 \
loaned-0.1.1 \
lock_api-0.4.12 \
nohash-hasher-0.2.0 \
parking_lot-0.12.2 \
parking_lot_core-0.9.10 \
proc-macro2-1.0.82 \
psm-0.1.21 \
quote-1.0.36 \
redox_syscall-0.5.1 \
same-file-1.0.6 \
scopeguard-1.2.0 \
similar-2.5.0 \
smallvec-1.13.2 \
stacker-0.1.15 \
stdext-0.3.3 \
strsim-0.11.1 \
syn-2.0.64 \
thiserror-1.0.60 \
thiserror-impl-1.0.60 \
unicode-ident-1.0.12 \
utf8parse-0.2.1 \
walkdir-2.5.0 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.8 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
windows-sys-0.52.0 \
windows-targets-0.52.5 \
windows_aarch64_gnullvm-0.52.5 \
windows_aarch64_msvc-0.52.5 \
windows_i686_gnu-0.52.5 \
windows_i686_gnullvm-0.52.5 \
windows_i686_msvc-0.52.5 \
windows_x86_64_gnu-0.52.5 \
windows_x86_64_gnullvm-0.52.5 \
windows_x86_64_msvc-0.52.5

PLIST_FILES= bin/${PORTNAME}

post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}

.include <bsd.port.mk>
141 changes: 141 additions & 0 deletions lang/bend/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
TIMESTAMP = 1716050543
SHA256 (rust/crates/TSPL-0.0.9.crate) = 5a9423b1e6e2d6c0bbc03660f58f9c30f55359e13afea29432e6e767c0f7dc25
SIZE (rust/crates/TSPL-0.0.9.crate) = 4054
SHA256 (rust/crates/TSPL-0.0.12.crate) = 52dfd6238b1461b99635b26585a85b4e7b9c786cc0481b3c540ae5f590b6dfb6
SIZE (rust/crates/TSPL-0.0.12.crate) = 4102
SHA256 (rust/crates/anstream-0.6.14.crate) = 418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b
SIZE (rust/crates/anstream-0.6.14.crate) = 29160
SHA256 (rust/crates/anstyle-1.0.7.crate) = 038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b
SIZE (rust/crates/anstyle-1.0.7.crate) = 15709
SHA256 (rust/crates/anstyle-parse-0.2.4.crate) = c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4
SIZE (rust/crates/anstyle-parse-0.2.4.crate) = 23069
SHA256 (rust/crates/anstyle-query-1.0.3.crate) = a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5
SIZE (rust/crates/anstyle-query-1.0.3.crate) = 9742
SHA256 (rust/crates/anstyle-wincon-3.0.3.crate) = 61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19
SIZE (rust/crates/anstyle-wincon-3.0.3.crate) = 12179
SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0
SIZE (rust/crates/autocfg-1.3.0.crate) = 16524
SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1
SIZE (rust/crates/bitflags-2.5.0.crate) = 43821
SHA256 (rust/crates/cc-1.0.97.crate) = 099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4
SIZE (rust/crates/cc-1.0.97.crate) = 76951
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
SHA256 (rust/crates/clap-4.5.4.crate) = 90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0
SIZE (rust/crates/clap-4.5.4.crate) = 55401
SHA256 (rust/crates/clap_builder-4.5.2.crate) = ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4
SIZE (rust/crates/clap_builder-4.5.2.crate) = 163566
SHA256 (rust/crates/clap_derive-4.5.4.crate) = 528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64
SIZE (rust/crates/clap_derive-4.5.4.crate) = 29159
SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915
SHA256 (rust/crates/colorchoice-1.0.1.crate) = 0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422
SIZE (rust/crates/colorchoice-1.0.1.crate) = 7895
SHA256 (rust/crates/console-0.15.8.crate) = 0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb
SIZE (rust/crates/console-0.15.8.crate) = 36364
SHA256 (rust/crates/either-1.12.0.crate) = 3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b
SIZE (rust/crates/either-1.12.0.crate) = 18974
SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f
SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741
SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
SHA256 (rust/crates/highlight_error-0.1.1.crate) = 809e18805660d7b6b2e2b9f316a5099521b5998d5cba4dda11b5157a21aaef03
SIZE (rust/crates/highlight_error-0.1.1.crate) = 15931
SHA256 (rust/crates/hvm-core-0.3.0-hvm32.compat.2.crate) = 9bd1f250a4a29a9bb2e30fc08a712d7c005df761b84249d7d0ecddf3cc59eb02
SIZE (rust/crates/hvm-core-0.3.0-hvm32.compat.2.crate) = 1625105
SHA256 (rust/crates/indexmap-2.2.6.crate) = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26
SIZE (rust/crates/indexmap-2.2.6.crate) = 82420
SHA256 (rust/crates/insta-1.39.0.crate) = 810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5
SIZE (rust/crates/insta-1.39.0.crate) = 87049
SHA256 (rust/crates/interner-0.2.1.crate) = e8c60687056b35a996f2213287048a7092d801b61df5fee3bd5bd9bf6f17a2d0
SIZE (rust/crates/interner-0.2.1.crate) = 22056
SHA256 (rust/crates/is_terminal_polyfill-1.70.0.crate) = f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800
SIZE (rust/crates/is_terminal_polyfill-1.70.0.crate) = 7451
SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57
SIZE (rust/crates/itertools-0.11.0.crate) = 125074
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
SIZE (rust/crates/libc-0.2.153.crate) = 740614
SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
SHA256 (rust/crates/loaned-0.1.1.crate) = f16fbe026127b8ff026fcc7419ddf201d47807295690de255bb68fced2ba15af
SIZE (rust/crates/loaned-0.1.1.crate) = 7664
SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17
SIZE (rust/crates/lock_api-0.4.12.crate) = 27591
SHA256 (rust/crates/nohash-hasher-0.2.0.crate) = 2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451
SIZE (rust/crates/nohash-hasher-0.2.0.crate) = 8051
SHA256 (rust/crates/parking_lot-0.12.2.crate) = 7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb
SIZE (rust/crates/parking_lot-0.12.2.crate) = 41723
SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8
SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406
SHA256 (rust/crates/proc-macro2-1.0.82.crate) = 8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b
SIZE (rust/crates/proc-macro2-1.0.82.crate) = 48452
SHA256 (rust/crates/psm-0.1.21.crate) = 5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874
SIZE (rust/crates/psm-0.1.21.crate) = 23126
SHA256 (rust/crates/quote-1.0.36.crate) = 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7
SIZE (rust/crates/quote-1.0.36.crate) = 28507
SHA256 (rust/crates/redox_syscall-0.5.1.crate) = 469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e
SIZE (rust/crates/redox_syscall-0.5.1.crate) = 22536
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
SHA256 (rust/crates/similar-2.5.0.crate) = fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640
SIZE (rust/crates/similar-2.5.0.crate) = 51648
SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
SHA256 (rust/crates/stacker-0.1.15.crate) = c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce
SIZE (rust/crates/stacker-0.1.15.crate) = 14656
SHA256 (rust/crates/stdext-0.3.3.crate) = 4af28eeb7c18ac2dbdb255d40bee63f203120e1db6b0024b177746ebec7049c1
SIZE (rust/crates/stdext-0.3.3.crate) = 15655
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
SHA256 (rust/crates/syn-2.0.64.crate) = 7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f
SIZE (rust/crates/syn-2.0.64.crate) = 264945
SHA256 (rust/crates/thiserror-1.0.60.crate) = 579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18
SIZE (rust/crates/thiserror-1.0.60.crate) = 21247
SHA256 (rust/crates/thiserror-impl-1.0.60.crate) = e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524
SIZE (rust/crates/thiserror-impl-1.0.60.crate) = 15787
SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
SHA256 (rust/crates/winapi-util-0.1.8.crate) = 4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b
SIZE (rust/crates/winapi-util-0.1.8.crate) = 12416
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
SHA256 (rust/crates/windows-targets-0.52.5.crate) = 6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb
SIZE (rust/crates/windows-targets-0.52.5.crate) = 6376
SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263
SIZE (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 433266
SHA256 (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6
SIZE (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 827944
SHA256 (rust/crates/windows_i686_gnu-0.52.5.crate) = 88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670
SIZE (rust/crates/windows_i686_gnu-0.52.5.crate) = 875699
SHA256 (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9
SIZE (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 473064
SHA256 (rust/crates/windows_i686_msvc-0.52.5.crate) = db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf
SIZE (rust/crates/windows_i686_msvc-0.52.5.crate) = 895404
SHA256 (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9
SIZE (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 831539
SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596
SIZE (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 433246
SHA256 (rust/crates/windows_x86_64_msvc-0.52.5.crate) = bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0
SIZE (rust/crates/windows_x86_64_msvc-0.52.5.crate) = 827905
SHA256 (HigherOrderCO-Bend-0.2.7_GH0.tar.gz) = 4d32d4f02f5d6321dc64b3de212786f575c1d451e15a48caaf2a416d5ca389fc
SIZE (HigherOrderCO-Bend-0.2.7_GH0.tar.gz) = 1030246
9 changes: 9 additions & 0 deletions lang/bend/pkg-descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Bend is a massively parallel, high-level programming language.

Unlike low-level alternatives like CUDA and Metal, Bend has the feeling and
features of expressive languages like Python and Haskell, including fast object
allocations, higher-order functions with full closure support, unrestricted
recursion, even continuations. Yet, it runs on massively parallel hardware like
GPUs, with near-linear speedup based on core count, and zero explicit parallel
annotations: no thread spawning, no locks, mutexes, atomics. Bend is powered by
the HVM2 runtime.

0 comments on commit cdb51da

Please sign in to comment.