The programming language for scalable development

Overview

Pen programming language

GitHub Action License Twitter

Pen is the programming language that makes software development scalable, focusing on software maintainability and portability.

import System'Context { Context }
import System'File

sayHello = \(ctx Context) none | error {
  File'Write(ctx, File'StdOut(), "Hello, world!\n")?

  none
}

main = \(ctx Context) number {
  e = sayHello(ctx)

  if e = e as none {
    0
  } else if error {
    1
  }
}

Install

See Install.

Documentation

Vision

Pen aims to make large-scale software development efficient where a number of people develop software together. To realize that, it focuses on software maintainability and portability.

  • Maintainability
    • Simplicity: The language is small and easy to learn but also full featured.
    • Testability: Unit tests are always reliable, fast, and independent with each other.
    • Modifiability: Developers can change application logic without changing implementation details, and vice versa.
  • Portability
    • Programs written in the language can be ported to different platforms including WebAssembly.

Features

Minimal language

  • Its syntax and type system are small, simple, and easy to learn.
  • Yet, the language supports all the modern features, such as:
    • Functional programming
    • Effect system
    • Dependency injection
    • Asynchronous operations
    • Parallel computation

Deterministic testing

  • All unit tests are deterministic.
  • Therefore, testing is always reliable and fast.
  • You never get bothered by flaky or slow tests.

System injection

  • System injection is a novel mechanism to isolate application logic from implementation details.
  • The language injects system functions into applications explicitly.
  • Developers can even define their own system functions.

Others

  • Static typing
  • Immutable values
  • Pure functions by default
  • Errors as values (no runtime error)
  • Cross compile
  • Rust/C foreign function interface

Work in progress...

Asynchronous operation

Functions can be called asynchronously to run multiple tasks concurrently.

Parallel computation

The runtime and library provide tools for thread-safe parallel computation that leverage multi-core CPUs.

License

Pen is released under open source licenses. See its LICENSE file for more information.

Comments
  • JSON library package

    JSON library package

    Problem

    • It's difficult to serialize or deserialize data from and into JSON.

    Solution

    • Provide a standard package of JSON serialization/deserialization.
    enhancement 
    opened by raviqqe 7
  • Bump clap from 4.0.22 to 4.0.23

    Bump clap from 4.0.22 to 4.0.23

    Bumps clap from 4.0.22 to 4.0.23.

    Release notes

    Sourced from clap's releases.

    v4.0.23

    [4.0.23] - 2022-11-11

    Fixes

    • Don't panic on reporting invalid-long errors when followed by invalid UTF8
    • (help) Clarified argument to help subcommand
    Changelog

    Sourced from clap's changelog.

    [4.0.23] - 2022-11-11

    Fixes

    • Don't panic on reporting invalid-long errors when followed by invalid UTF8
    • (help) Clarified argument to help subcommand
    Commits
    • 95144b7 chore: Release
    • 20ecae1 docs: Update changelog
    • e6a3529 Merge pull request #4474 from epage/utf8
    • e9cbed3 fix(parser): Don't panic on invalid UTF-8 values
    • 45d26e0 test(parser): Show UTF8 bug
    • 4d69e56 Merge pull request #4471 from epage/assert
    • ec03972 test(assert): Verify empty positional assert exists
    • 0d27188 Merge pull request #4465 from epage/help
    • 9376a57 fix(help): Clarify that 'help' command accepts multiple
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 3
  • Bump actions/upload-artifact from 2 to 3

    Bump actions/upload-artifact from 2 to 3

    Bumps actions/upload-artifact from 2 to 3.

    Release notes

    Sourced from actions/upload-artifact's releases.

    v3.0.0

    What's Changed

    • Update default runtime to node16 (#293)
    • Update package-lock.json file version to 2 (#302)

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    v2.3.1

    Fix for empty fails on Windows failing on upload #281

    v2.3.0 Upload Artifact

    • Optimizations for faster uploads of larger files that are already compressed
    • Significantly improved logging when there are chunked uploads
    • Clarifications in logs around the upload size and prohibited characters that aren't allowed in the artifact name or any uploaded files
    • Various other small bugfixes & optimizations

    v2.2.4

    • Retry on HTTP 500 responses from the service

    v2.2.3

    • Fixes for proxy related issues

    v2.2.2

    • Improved retryability and error handling

    v2.2.1

    • Update used actions/core package to the latest version

    v2.2.0

    • Support for artifact retention

    v2.1.4

    • Add Third Party License Information

    v2.1.3

    • Use updated version of the @action/artifact NPM package

    v2.1.2

    • Increase upload chunk size from 4MB to 8MB
    • Detect case insensitive file uploads

    v2.1.1

    • Fix for certain symlinks not correctly being identified as directories before starting uploads

    v2.1.0

    • Support for uploading artifacts with multiple paths
    • Support for using exclude paths
    • Updates to dependencies

    ... (truncated)

    Commits
    • 3cea537 Merge pull request #327 from actions/robherley/artifact-1.1.0
    • 849aa77 nvm use 12 & npm run release
    • 4d39869 recompile with correct ncc version
    • 2e0d362 bump @​actions/artifact to 1.1.0
    • 09a5d6a Merge pull request #320 from actions/dependabot/npm_and_yarn/ansi-regex-4.1.1
    • 189315d Bump ansi-regex from 4.1.0 to 4.1.1
    • d159c2d Merge pull request #297 from actions/dependabot/npm_and_yarn/ajv-6.12.6
    • c26a7ba Bump ajv from 6.11.0 to 6.12.6
    • 6ed6c72 Merge pull request #303 from actions/dependabot/npm_and_yarn/yargs-parser-13.1.2
    • 2aeee26 Bump yargs-parser from 13.1.1 to 13.1.2
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 3
  • Bump serde from 1.0.139 to 1.0.140

    Bump serde from 1.0.139 to 1.0.140

    Bumps serde from 1.0.139 to 1.0.140.

    Release notes

    Sourced from serde's releases.

    v1.0.140

    • Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain (#2251, thanks @​taiki-e)
    Commits
    • c5f6338 Release 1.0.140
    • 5185487 Merge pull request #2251 from taiki-e/derive-cfg
    • efaafd4 Invert build.rs cfgs in serde_derive
    • a0eb83a Resolve invalid_utf8_in_unchecked clippy lint in ancient test code
    • 7cc6f7f Ignore new_without_default clippy lint
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 3
  • Bump clap from 3.1.0 to 3.1.1

    Bump clap from 3.1.0 to 3.1.1

    Bumps clap from 3.1.0 to 3.1.1.

    Release notes

    Sourced from clap's releases.

    v3.1.1

    [3.1.1] - 2022-02-21

    Fixes

    • Track caller for ArgMatches assertions so the user more easily sees where they need to fix the call
    Changelog

    Sourced from clap's changelog.

    [3.1.1] - 2022-02-21

    Fixes

    • Track caller for ArgMatches assertions so the user more easily sees where they need to fix the call
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 3
  • Path mapping in build output

    Path mapping in build output

    Problem

    Paths displayed in build outputs are not comprehensive to end-users.

    Example:

    > pen test
    resolving dependency of /home/raviqqe/worktree/638dc32dd7313177/examples/life-game/lifeGame.test.pen
    compiling module of /home/raviqqe/worktree/638dc32dd7313177/examples/life-game/lifeGame.test.pen
    archiving package at /home/raviqqe/worktree/638dc32dd7313177/examples/life-game/
    linking tests at /home/raviqqe/worktree/638dc32dd7313177/examples/life-game/.pen/default/test/test
    lifeGame.test.pen
    

    Solution

    • Map paths displayed in outputs of the Ninja build system.
      • In ninja_build_script_compiler
    enhancement 
    opened by raviqqe 3
  • Flaky asynchronous read test in `os` package

    Flaky asynchronous read test in `os` package

    Problem

    • Thread initialization bug?
      • https://gist.github.com/raviqqe/b815cec894e232e6be9d28a67db5494a
      • This seems to be rather common in data race bugs.
        • https://stackoverflow.com/questions/52101961/bytes-still-reachable-when-using-pthreads

    References

    • Valgrind manual
      • Helgrind doesn't seem to help here as even a normal Tokio app emits a bunch of data race error messages.
    • https://doc.rust-lang.org/std/thread/struct.ThreadId.html
    bug 
    opened by raviqqe 3
  • aarch64-apple-darwin: binary killed on Apple silicon due to policy violation

    aarch64-apple-darwin: binary killed on Apple silicon due to policy violation

    I modified the hello world program, as generated by pen create, to read as follows:

    import System'Context { Context }
    import System'File
    
    type redblacknode {
      red boolean
    }
    
    main = \(ctx Context) number {
      File'Write(ctx, File'StdOut(), "Hello, world!\n")
    
      0
    }
    

    Attempting to build and run this program results in a binary that immediately crashes:

    ~/code/pen-trees 〉pen build && ./app
    [6/6] /Users/dylhunn/code/pen-trees/.p...ult/archives/lib7e2c4ee33a26eae0_ffi.a
    zsh: killed     ./app
    

    Removing the record type causes the program to build and run as expected, printing "Hello, world!".

    I am on an Apple Silicon Macbook Pro, running MacOS 11.4. I am using pen 0.2.1 as installed via brew.

    I'm unable to even load the binary in lldb (note that I'm just trying to load lldb, not even run the target):

    ~/code/pen-trees 〉lldb ./app 
    (lldb) target create "./app"
    zsh: killed     lldb ./app
    
    bug 
    opened by dylhunn 3
  • Bump tokio from 1.23.0 to 1.24.1 in /packages/os/ffi/application

    Bump tokio from 1.23.0 to 1.24.1 in /packages/os/ffi/application

    Bumps tokio from 1.23.0 to 1.24.1.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.24.1

    This release fixes a compilation failure on targets without AtomicU64 when using rustc older than 1.63. (#5356)

    #5356: tokio-rs/tokio#5356

    Tokio v1.24.0

    The highlight of this release is the reduction of lock contention for all I/O operations (#5300). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications.

    Fixed

    • rt: improve native AtomicU64 support detection (#5284)

    Added

    • rt: add configuration option for max number of I/O events polled from the OS per tick (#5186)
    • rt: add an environment variable for configuring the default number of worker threads per runtime instance (#4250)

    Changed

    • sync: reduce MPSC channel stack usage (#5294)
    • io: reduce lock contention in I/O operations (#5300)
    • fs: speed up read_dir() by chunking operations (#5309)
    • rt: use internal ThreadId implementation (#5329)
    • test: don't auto-advance time when a spawn_blocking task is running (#5115)

    #5186: tokio-rs/tokio#5186 #5294: tokio-rs/tokio#5294 #5284: tokio-rs/tokio#5284 #4250: tokio-rs/tokio#4250 #5300: tokio-rs/tokio#5300 #5329: tokio-rs/tokio#5329 #5115: tokio-rs/tokio#5115 #5309: tokio-rs/tokio#5309

    Tokio v1.23.1

    This release forward ports changes from 1.18.4.

    Fixed

    • net: fix Windows named pipe server builder to maintain option when toggling pipe mode (#5336).

    #5336: tokio-rs/tokio#5336

    Commits
    • 31c7e82 chore: prepare Tokio v1.24.1 (#5357)
    • 8d8db27 tokio: add load and compare_exchange_weak to loom StaticAtomicU64 (#5356)
    • dfe252d chore: prepare Tokio v1.24.0 release (#5353)
    • 21b233f test: bump version of async-stream (#5347)
    • 7299304 Merge branch 'tokio-1.23.x' into master
    • 1a997ff chore: prepare Tokio v1.23.1 release
    • a8fe333 Merge branch 'tokio-1.20.x' into tokio-1.23.x
    • ba81945 chore: prepare Tokio 1.20.3 release
    • 763bdc9 ci: run WASI tasks using latest Rust
    • 9f98535 Merge remote-tracking branch 'origin/tokio-1.18.x' into fix-named-pipes-1.20
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump tokio from 1.23.0 to 1.24.1 in /packages/http/ffi

    Bump tokio from 1.23.0 to 1.24.1 in /packages/http/ffi

    Bumps tokio from 1.23.0 to 1.24.1.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.24.1

    This release fixes a compilation failure on targets without AtomicU64 when using rustc older than 1.63. (#5356)

    #5356: tokio-rs/tokio#5356

    Tokio v1.24.0

    The highlight of this release is the reduction of lock contention for all I/O operations (#5300). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications.

    Fixed

    • rt: improve native AtomicU64 support detection (#5284)

    Added

    • rt: add configuration option for max number of I/O events polled from the OS per tick (#5186)
    • rt: add an environment variable for configuring the default number of worker threads per runtime instance (#4250)

    Changed

    • sync: reduce MPSC channel stack usage (#5294)
    • io: reduce lock contention in I/O operations (#5300)
    • fs: speed up read_dir() by chunking operations (#5309)
    • rt: use internal ThreadId implementation (#5329)
    • test: don't auto-advance time when a spawn_blocking task is running (#5115)

    #5186: tokio-rs/tokio#5186 #5294: tokio-rs/tokio#5294 #5284: tokio-rs/tokio#5284 #4250: tokio-rs/tokio#4250 #5300: tokio-rs/tokio#5300 #5329: tokio-rs/tokio#5329 #5115: tokio-rs/tokio#5115 #5309: tokio-rs/tokio#5309

    Tokio v1.23.1

    This release forward ports changes from 1.18.4.

    Fixed

    • net: fix Windows named pipe server builder to maintain option when toggling pipe mode (#5336).

    #5336: tokio-rs/tokio#5336

    Commits
    • 31c7e82 chore: prepare Tokio v1.24.1 (#5357)
    • 8d8db27 tokio: add load and compare_exchange_weak to loom StaticAtomicU64 (#5356)
    • dfe252d chore: prepare Tokio v1.24.0 release (#5353)
    • 21b233f test: bump version of async-stream (#5347)
    • 7299304 Merge branch 'tokio-1.23.x' into master
    • 1a997ff chore: prepare Tokio v1.23.1 release
    • a8fe333 Merge branch 'tokio-1.20.x' into tokio-1.23.x
    • ba81945 chore: prepare Tokio 1.20.3 release
    • 763bdc9 ci: run WASI tasks using latest Rust
    • 9f98535 Merge remote-tracking branch 'origin/tokio-1.18.x' into fix-named-pipes-1.20
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump tokio from 1.23.0 to 1.24.1 in /packages/os/ffi/library

    Bump tokio from 1.23.0 to 1.24.1 in /packages/os/ffi/library

    Bumps tokio from 1.23.0 to 1.24.1.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.24.1

    This release fixes a compilation failure on targets without AtomicU64 when using rustc older than 1.63. (#5356)

    #5356: tokio-rs/tokio#5356

    Tokio v1.24.0

    The highlight of this release is the reduction of lock contention for all I/O operations (#5300). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications.

    Fixed

    • rt: improve native AtomicU64 support detection (#5284)

    Added

    • rt: add configuration option for max number of I/O events polled from the OS per tick (#5186)
    • rt: add an environment variable for configuring the default number of worker threads per runtime instance (#4250)

    Changed

    • sync: reduce MPSC channel stack usage (#5294)
    • io: reduce lock contention in I/O operations (#5300)
    • fs: speed up read_dir() by chunking operations (#5309)
    • rt: use internal ThreadId implementation (#5329)
    • test: don't auto-advance time when a spawn_blocking task is running (#5115)

    #5186: tokio-rs/tokio#5186 #5294: tokio-rs/tokio#5294 #5284: tokio-rs/tokio#5284 #4250: tokio-rs/tokio#4250 #5300: tokio-rs/tokio#5300 #5329: tokio-rs/tokio#5329 #5115: tokio-rs/tokio#5115 #5309: tokio-rs/tokio#5309

    Tokio v1.23.1

    This release forward ports changes from 1.18.4.

    Fixed

    • net: fix Windows named pipe server builder to maintain option when toggling pipe mode (#5336).

    #5336: tokio-rs/tokio#5336

    Commits
    • 31c7e82 chore: prepare Tokio v1.24.1 (#5357)
    • 8d8db27 tokio: add load and compare_exchange_weak to loom StaticAtomicU64 (#5356)
    • dfe252d chore: prepare Tokio v1.24.0 release (#5353)
    • 21b233f test: bump version of async-stream (#5347)
    • 7299304 Merge branch 'tokio-1.23.x' into master
    • 1a997ff chore: prepare Tokio v1.23.1 release
    • a8fe333 Merge branch 'tokio-1.20.x' into tokio-1.23.x
    • ba81945 chore: prepare Tokio 1.20.3 release
    • 763bdc9 ci: run WASI tasks using latest Rust
    • 9f98535 Merge remote-tracking branch 'origin/tokio-1.18.x' into fix-named-pipes-1.20
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • "cannot provide explicit generic arguments when `impl Trait` is used in argument position" when building pen-lang

    [ruby@VM-8-12-centos pen]$ cargo --version
    cargo 1.62.1
    

    reproduction steps and results:

    [ruby@VM-8-12-centos ~]$ git clone https://github.com/pen-lang/pen
    Cloning into 'pen'...
    remote: Enumerating objects: 30004, done.
    remote: Counting objects: 100% (920/920), done.
    remote: Compressing objects: 100% (409/409), done.
    remote: Total 30004 (delta 500), reused 747 (delta 361), pack-reused 29084
    Receiving objects: 100% (30004/30004), 13.36 MiB | 1.64 MiB/s, done.
    Resolving deltas: 100% (20082/20082), done.
    [ruby@VM-8-12-centos ~]$ cd pen/
    [ruby@VM-8-12-centos pen]$ time cargo build --release
       Compiling proc-macro2 v1.0.49
       Compiling autocfg v1.1.0
       Compiling quote v1.0.23
       Compiling unicode-ident v1.0.6
       Compiling syn v1.0.107
       Compiling memchr v2.5.0
       Compiling serde_derive v1.0.152
       Compiling serde v1.0.152
       Compiling libc v0.2.139
       Compiling hashbrown v0.12.3
       Compiling fixedbitset v0.4.2
       Compiling fnv v1.0.7
       Compiling semver v1.0.16
       Compiling either v1.8.0
       Compiling regex-syntax v0.6.28
       Compiling plist v0.1.0 (https://github.com/raviqqe/plist-rs?branch=main#9931a405)
       Compiling lazy_static v1.4.0
       Compiling once_cell v1.17.0
       Compiling cc v1.0.78
       Compiling parking_lot_core v0.9.5
       Compiling futures-core v0.3.25
       Compiling tinyvec_macros v0.1.0
       Compiling cfg-if v1.0.0
       Compiling smallvec v1.10.0
       Compiling scopeguard v1.1.0
       Compiling typenum v1.16.0
       Compiling hamt v0.3.1 (https://github.com/raviqqe/hamt-rs?branch=main#d0842dbc)
       Compiling futures-task v0.3.25
       Compiling io-lifetimes v1.0.3
       Compiling inkwell v0.1.0 (https://github.com/TheDan64/inkwell?branch=master#3c5d7706)
       Compiling futures-channel v0.3.25
       Compiling minimal-lexical v0.2.1
       Compiling futures-sink v0.3.25
       Compiling rustix v0.36.5
       Compiling bytecount v0.6.3
       Compiling percent-encoding v2.2.0
       Compiling serde_json v1.0.91
       Compiling futures-util v0.3.25
       Compiling unicode-bidi v0.3.8
       Compiling target-lexicon v0.12.5
       Compiling version_check v0.9.4
       Compiling unicode-segmentation v1.10.0
       Compiling pin-project-lite v0.2.9
       Compiling futures-io v0.3.25
       Compiling itoa v1.0.5
       Compiling linux-raw-sys v0.1.4
       Compiling ryu v1.0.12
       Compiling rand_core v0.6.4
       Compiling bitflags v1.3.2
       Compiling pin-utils v0.1.0
       Compiling indoc v1.0.8
       Compiling termcolor v1.1.3
       Compiling os_str_bytes v6.4.1
       Compiling glob v0.3.0
       Compiling strsim v0.10.0
       Compiling fibonacci v0.1.0 (/home/ruby/pen/benchmark/rust/fibonacci)
       Compiling sum v0.1.0 (/home/ruby/pen/benchmark/rust/sum)
       Compiling indexmap v1.9.2
       Compiling lock_api v0.4.9
       Compiling slab v0.4.7
       Compiling num-traits v0.2.15
       Compiling itertools v0.10.5
       Compiling tinyvec v1.6.0
       Compiling mir v0.1.0 (/home/ruby/pen/lib/mir)
       Compiling form_urlencoded v1.1.0
       Compiling im v15.1.0
       Compiling convert_case v0.6.0
       Compiling rand_xoshiro v0.6.0
       Compiling clap_lex v0.3.0
       Compiling unicode-normalization v0.1.22
       Compiling aho-corasick v0.7.20
       Compiling nom v7.1.2
       Compiling which v4.3.0
       Compiling idna v0.3.0
       Compiling bitmaps v2.1.0
       Compiling petgraph v0.6.2
       Compiling regex v1.7.0
       Compiling ordered-float v3.4.0
       Compiling nom_locate v4.0.0
       Compiling parking_lot v0.12.1
       Compiling url v2.3.1
       Compiling sized-chunks v0.6.5
       Compiling fmm v0.1.0 (https://github.com/raviqqe/fmm?branch=main#aca08a96)
       Compiling inkwell_internals v0.6.0 (https://github.com/TheDan64/inkwell?branch=master#3c5d7706)
       Compiling futures-macro v0.3.25
       Compiling async-stream-impl v0.3.3
       Compiling pen-ffi-macro v0.4.1 (/home/ruby/pen/lib/ffi-macro)
       Compiling std-hash-map-insert v0.1.0 (/home/ruby/pen/benchmark/rust/std_hash_map_insert)
       Compiling llvm-sys v140.0.3
       Compiling is-terminal v0.4.2
       Compiling mir-fmm v0.1.0 (/home/ruby/pen/lib/mir-fmm)
    error[E0632]: cannot provide explicit generic arguments when `impl Trait` is used in argument position
       --> lib/mir-fmm/src/expression.rs:295:27
        |
    295 |             builder.if_::<CompileError>(
        |                           ^^^^^^^^^^^^ explicit generic argument not allowed
        |
        = note: see issue #83701 <https://github.com/rust-lang/rust/issues/83701> for more information
    
    error[E0632]: cannot provide explicit generic arguments when `impl Trait` is used in argument position
       --> lib/mir-fmm/src/expression.rs:652:19
        |
    652 |     builder.if_::<CompileError>(
        |                   ^^^^^^^^^^^^ explicit generic argument not allowed
        |
        = note: see issue #83701 <https://github.com/rust-lang/rust/issues/83701> for more information
    
    error[E0632]: cannot provide explicit generic arguments when `impl Trait` is used in argument position
      --> lib/mir-fmm/src/reference_count/pointer.rs:34:46
       |
    34 |             Ok(builder.return_(builder.if_::<CompileError>(
       |                                              ^^^^^^^^^^^^ explicit generic argument not allowed
       |
       = note: see issue #83701 <https://github.com/rust-lang/rust/issues/83701> for more information
    
    error[E0632]: cannot provide explicit generic arguments when `impl Trait` is used in argument position
       --> lib/mir-fmm/src/reference_count/variant.rs:129:19
        |
    129 |     builder.if_::<CompileError>(
        |                   ^^^^^^^^^^^^ explicit generic argument not allowed
        |
        = note: see issue #83701 <https://github.com/rust-lang/rust/issues/83701> for more information
    
    For more information about this error, try `rustc --explain E0632`.
    error: could not compile `mir-fmm` due to 4 previous errors
    warning: build failed, waiting for other jobs to finish...
    
    real    1m42.190s
    user    3m3.544s
    sys     0m8.577s
    
    opened by topazus 5
  • Generalized list pattern match

    Generalized list pattern match

    Discussed in https://github.com/pen-lang/pen/discussions/1408

    Originally posted by raviqqe September 3, 2022

    Problem

    • Taking initial or last elements is common operations on lists.

    Examples

    • https://github.com/pen-lang/pen/blob/7853a8b44a18019833b6ef32b1e27d2779a07428/examples/life-game/lifeGame.pen#L110
    • https://github.com/pen-lang/pen/blob/7853a8b44a18019833b6ef32b1e27d2779a07428/examples/snake/entity/snake.pen#L47

    Solution

    • Generalize if-list expressions.
    if [x, y, z, ...xs, v, w] = xs {
      ...
    } else {
      ...
    }
    

    References

    • #979
enhancement 
opened by raviqqe 0
  • Link arbitrary libraries in FFI

    Link arbitrary libraries in FFI

    Problem

    • Packages with FFI modules cannot link the third-party libraries.

    Solution

    • Allow setting custom linker flags in link scripts in FFI?
      • e.g. in pen-link.sh
    enhancement 
    opened by raviqqe 0
  • `sort` bulit-in function

    `sort` bulit-in function

    Problem

    • There is no quick way to sort generic lists.

    Solution

    • Add a sort built-in function.
    • It type is \([T], \(T, T) boolean | none.
      • The result values mean:
        • none: equal
        • false: less than
        • true: greater than
      • Or just boolean for "less than" and "greater than or equal?"
    enhancement 
    opened by raviqqe 0
  • Releases(v0.6.0)
    • v0.6.0(Jan 3, 2023)

      • Bump version (#1740) by Yota Toyama
      • Bump mkdocs-material from 8.5.11 to 9.0.0 in /doc (#1739) by dependabot[bot]
      • Bump nom from 7.1.1 to 7.1.2 (#1738) by dependabot[bot]
      • Rename map element enums (#1737) by Yota Toyama
      • Bump once_cell from 1.16.0 to 1.17.0 in /packages/os-sync/ffi (#1735) by dependabot[bot]
      • Bump once_cell from 1.16.0 to 1.17.0 in /packages/os/ffi/application (#1734) by dependabot[bot]
      • Fix source positions in error messsages (#1729) by Yota Toyama
      • Bump once_cell from 1.16.0 to 1.17.0 in /packages/os/ffi/library (#1736) by dependabot[bot]
      • Bump once_cell from 1.16.0 to 1.17.0 (#1730) by dependabot[bot]
      • Bump fmm-c from 3002696 to aca08a9 (#1731) by dependabot[bot]
      • Remove map iteration from list comprehension (#1726) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.6.0-x86_64-apple-darwin.tar.xz(14.72 MB)
      pen-0.6.0-x86_64-unknown-linux-gnu.tar.xz(27.24 MB)
    • v0.5.3(Dec 26, 2022)

      • Bump version (#1725) by Yota Toyama
      • Update dependencies (#1727) by Yota Toyama
      • keys and values built-in functions (#1724) by Yota Toyama
      • Parallel list comprehension (#1673) by Yota Toyama
      • Bump html-escape from 0.2.12 to 0.2.13 in /packages/html/ffi (#1720) by dependabot[bot]
      • Bump clap from 4.0.30 to 4.0.32 (#1719) by dependabot[bot]
      • Bump hamt from cf53e95 to d0842db (#1718) by dependabot[bot]
      • Bump fmm-c from 50101cc to 3002696 (#1715) by dependabot[bot]
      • Bump clap from 4.0.29 to 4.0.30 (#1714) by dependabot[bot]
      • Bump fmm-llvm from 90d6a87 to 50101cc (#1711) by dependabot[bot]
      • fix roadmap (#1710) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.5.3-x86_64-apple-darwin.tar.xz(14.72 MB)
      pen-0.5.3-x86_64-unknown-linux-gnu.tar.xz(27.22 MB)
    • v0.5.2(Dec 20, 2022)

      • Bump version (#1703) by Yota Toyama
      • Bump quote from 1.0.21 to 1.0.23 (#1706) by dependabot[bot]
      • Bump syn from 1.0.105 to 1.0.107 (#1705) by dependabot[bot]
      • Bump proc-macro2 from 1.0.47 to 1.0.49 (#1708) by dependabot[bot]
      • Fix readme (#1709) by Yota Toyama
      • Bump indoc from 1.0.7 to 1.0.8 (#1707) by dependabot[bot]
      • Bump serde_json from 1.0.89 to 1.0.91 (#1704) by dependabot[bot]
      • Update dependencies (#1702) by Yota Toyama
      • Bump serde from 1.0.149 to 1.0.150 (#1698) by dependabot[bot]
      • Bump insta from 1.22.0 to 1.23.0 (#1697) by dependabot[bot]
      • Bump fmm-llvm from 0fde465 to 90d6a87 (#1699) by dependabot[bot]
      • Bump insta from 1.21.2 to 1.22.0 (#1696) by dependabot[bot]
      • Bump tokio from 1.22.0 to 1.23.0 (#1695) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.5.2-x86_64-apple-darwin.tar.xz(14.70 MB)
      pen-0.5.2-x86_64-unknown-linux-gnu.tar.xz(27.21 MB)
    • v0.5.1(Dec 8, 2022)

      • Bump version (#1669) by Yota Toyama
      • Bump syn from 1.0.104 to 1.0.105 (#1687) by dependabot[bot]
      • Bump serde from 1.0.148 to 1.0.149 (#1690) by dependabot[bot]
      • Bump fmm-c from fdcc753 to 0fde465 (#1691) by dependabot[bot]
      • Bump mkdocs-material from 8.5.10 to 8.5.11 in /doc (#1686) by dependabot[bot]
      • Bump clap from 4.0.27 to 4.0.29 (#1685) by dependabot[bot]
      • Bump insta from 1.21.1 to 1.21.2 (#1680) by dependabot[bot]
      • Bump serde from 1.0.147 to 1.0.148 (#1682) by dependabot[bot]
      • Bump fmm from 3d41d06 to fdcc753 (#1683) by dependabot[bot]
      • Bump clap from 4.0.26 to 4.0.27 (#1677) by dependabot[bot]
      • Bump fmm-llvm from 996d009 to 3d41d06 (#1676) by dependabot[bot]
      • Bump @highlightjs/cdn-assets from 11.6.0 to 11.7.0 in /doc (#1675) by dependabot[bot]
      • Display missing record field names (#1671) by Yota Toyama
      • Fix record equality check (#1670) by Yota Toyama
      • Fix dependabot configuration (#1666) by Yota Toyama
      • Update dependencies (#1668) by Yota Toyama
      • Freeze state after run (#1667) by Yota Toyama
      • Update readme (#1663) by Yota Toyama
      • Refactor examples (#1664) by Yota Toyama
      • Update list comprehension documentation (#1662) by Yota Toyama
      • Replace deprecated actions (#1661) by Yota Toyama
      • Conditional list comprehension branches (#1660) by Yota Toyama
      • Update readme (#1658) by Yota Toyama
      • Monadic list comprehension (#1657) by Yota Toyama
      • Unify list comprehension compiler (#1654) by Yota Toyama
      • Refactor list comprehension (#1653) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.5.1-x86_64-apple-darwin.tar.xz(14.68 MB)
      pen-0.5.1-x86_64-unknown-linux-gnu.tar.xz(27.20 MB)
    • v0.5.0(Nov 19, 2022)

      • Bump version (#1652) by Yota Toyama
      • Implement more traits for Arc (#1647) by Yota Toyama
      • Bump fmm-llvm from 8dc1043 to 996d009 (#1649) by dependabot[bot]
      • Bump fmm from 8dc1043 to 996d009 (#1650) by dependabot[bot]
      • Bump serde_json from 1.0.87 to 1.0.88 (#1648) by dependabot[bot]
      • Add todos for unimplemented language features (#1644) by Yota Toyama
      • Bump Swatinem/rust-cache from 1 to 2 (#1643) by dependabot[bot]
      • Mutable state for testing (#1641) by Yota Toyama
      • Bump clap from 4.0.25 to 4.0.26 (#1640) by dependabot[bot]
      • Remove delete entry syntax of map types (#1638) by Yota Toyama
      • Documentation for map entry deletion (#1639) by Yota Toyama
      • Keep application files on testing (#1637) by Yota Toyama
      • delete built-in function (#1635) by Yota Toyama
      • Bump insta from 1.21.0 to 1.21.1 (#1634) by dependabot[bot]
      • Bump clap from 4.0.23 to 4.0.25 (#1630) by dependabot[bot]
      • Bump fmm-llvm from 33c669f to 8dc1043 (#1631) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.5.0-x86_64-apple-darwin.tar.xz(14.67 MB)
      pen-0.5.0-x86_64-unknown-linux-gnu.tar.xz(27.21 MB)
    • v0.4.18(Nov 15, 2022)

      • Bump version (#1629) by Yota Toyama
      • Bug fixes for formatter (#1626) by Yota Toyama
      • Bump clap from 4.0.22 to 4.0.23 (#1623) by dependabot[bot]
      • Bump mkdocs-material from 8.5.9 to 8.5.10 in /doc (#1625) by dependabot[bot]
      • Bump fmm-c from 7f28cfd to 33c669f (#1621) by dependabot[bot]
      • Clean dead outputs first (#1620) by Yota Toyama
      • Bump target-lexicon from 0.12.4 to 0.12.5 (#1617) by dependabot[bot]
      • Bump ordered-float from 3.3.0 to 3.4.0 (#1610) by dependabot[bot]
      • Bump regex from 1.6.0 to 1.7.0 (#1609) by dependabot[bot]
      • Bump clap from 4.0.18 to 4.0.22 (#1612) by dependabot[bot]
      • Bump mkdocs-material from 8.5.8 to 8.5.9 in /doc (#1614) by dependabot[bot]
      • Bump fmm from 542407e to 7f28cfd (#1616) by dependabot[bot]
      • Bump fmm from a51ae62 to 542407e (#1611) by dependabot[bot]
      • Rename inconsistent library functions (#1607) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.18-x86_64-apple-darwin.tar.xz(14.67 MB)
      pen-0.4.18-x86_64-unknown-linux-gnu.tar.xz(27.21 MB)
    • v0.4.17(Nov 7, 2022)

      • Bump version (#1601) by Yota Toyama
      • Fix cargo rebuilds (#1602) by Yota Toyama
      • Run integration tests on macOS only on main branch (#1603) by Yota Toyama
      • Refactor macOS integration tests (#1597) by Yota Toyama
      • Compile error of map contexts (#1600) by Yota Toyama
      • Fix SQL client build on macOS (#1595) by Yota Toyama
      • Enable integration tests on macOS (#1596) by Yota Toyama
      • Bump mkdocs-material from 8.5.7 to 8.5.8 in /doc (#1594) by dependabot[bot]
      • Delay in life game (#1593) by Yota Toyama
      • Disallow CPS stack pointer alias for further optimization oppotunities (#1590) by Yota Toyama
      • Bump mkdocs from 1.4.1 to 1.4.2 in /doc (#1589) by dependabot[bot]
      • Refactor futures in FFI library (#1588) by Yota Toyama
      • Optimize parser (#1583) by Yota Toyama
      • Bump fmm-llvm from 67404ed to 06c823c (#1584) by dependabot[bot]
      • Update dependencies (#1582) by Yota Toyama
      • Bump fmm from 31e3a79 to 4ac83a7 (#1579) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.17-x86_64-apple-darwin.tar.xz(14.66 MB)
      pen-0.4.17-x86_64-unknown-linux-gnu.tar.xz(27.21 MB)
    • v0.4.16(Oct 28, 2022)

      • Bump version (#1578) by Yota Toyama
      • Update dependencies (#1570) by Yota Toyama
      • Bump mkdocs-material from 8.5.6 to 8.5.7 in /doc (#1574) by dependabot[bot]
      • Bump fmm-c from c4eaf3a to 31e3a79 (#1576) by dependabot[bot]
      • Bump fmm from f5d5175 to c4eaf3a (#1572) by dependabot[bot]
      • Update dependencies (#1569) by Yota Toyama
      • Refactor reference count functions (#1568) by Yota Toyama
      • Cache variant tag type compilation (#1567) by Yota Toyama
      • Optimize MIR expression data structures (#1557) by Yota Toyama
      • Update dependencies (#1566) by Yota Toyama
      • Use plist::Map in MIR passes (#1565) by Yota Toyama
      • Update F-- (#1564) by Yota Toyama
      • Update dependencies (#1563) by Yota Toyama
      • Bump serde from 1.0.145 to 1.0.147 (#1560) by dependabot[bot]
      • Bump syn from 1.0.102 to 1.0.103 (#1561) by dependabot[bot]
      • Bump clap from 4.0.17 to 4.0.18 (#1562) by dependabot[bot]
      • Use Rc (#1559) by Yota Toyama
      • Update dependencies (#1558) by Yota Toyama
      • Use plist-rs for HIR passes (#1552) by Yota Toyama
      • Optimize MIR type data structure (#1556) by Yota Toyama
      • Bump hamt from ca3ec8c to cf53e95 (#1555) by dependabot[bot]
      • Bump ordered-float from 3.2.0 to 3.3.0 (#1554) by dependabot[bot]
      • Optimize HIR type data structure (#1553) by Yota Toyama
      • Bump clap from 4.0.16 to 4.0.17 (#1551) by dependabot[bot]
      • Cache type compilation from MIR to F-- (#1550) by Yota Toyama
      • Update F-- (#1549) by Yota Toyama
      • Optimize type canonicalization (#1543) by Yota Toyama
      • Bump mkdocs from 1.4.0 to 1.4.1 in /doc (#1547) by dependabot[bot]
      • Bump fmm-llvm from d526fa8 to c1e9867 (#1544) by dependabot[bot]
      • Refactor (#1542) by Yota Toyama
      • Use HAMT for MIR type check (#1541) by Yota Toyama
      • Update F-- (#1540) by Yota Toyama
      • Update dependencies (#1538) by Yota Toyama
      • Use type IDs in MIR (#1539) by Yota Toyama
      • Rerun codesign on macOS (#1537) by Yota Toyama
      • Bump clap from 4.0.14 to 4.0.15 (#1535) by dependabot[bot]
      • Bump fmm-llvm from 4fb64ed to 92f204c (#1534) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.16-x86_64-apple-darwin.tar.xz(14.86 MB)
      pen-0.4.16-x86_64-unknown-linux-gnu.tar.xz(27.30 MB)
    • v0.4.15(Oct 14, 2022)

      • Bump version (#1528) by Yota Toyama
      • Bump fmm-llvm from 19c0011 to 4fb64ed (#1529) by dependabot[bot]
      • Fix FFI module rebuild (#1527) by Yota Toyama
      • Full C calling convention (#1039) by Yota Toyama
      • Bump clap from 4.0.13 to 4.0.14 (#1526) by dependabot[bot]
      • Bump fmm-c from b197579 to 19c0011 (#1524) by dependabot[bot]
      • Bump clap from 4.0.12 to 4.0.13 (#1519) by dependabot[bot]
      • Bump fmm-c from 52843a6 to b197579 (#1520) by dependabot[bot]
      • Bump clap from 4.0.10 to 4.0.12 (#1515) by dependabot[bot]
      • Bump fmm-llvm from 1cadbbd to 52843a6 (#1516) by dependabot[bot]
      • Bump serde_json from 1.0.85 to 1.0.86 (#1514) by dependabot[bot]
      • Refactor error type information compilation (#1513) by Yota Toyama
      • Original record names in error messages and reflection (#1512) by Yota Toyama
      • Bump syn from 1.0.101 to 1.0.102 (#1511) by dependabot[bot]
      • Refactor (#1510) by Yota Toyama
      • Bump clap from 4.0.9 to 4.0.10 (#1509) by dependabot[bot]
      • Assert'Equal function (#1508) by Yota Toyama
      • Any'Equal function in Reflect package (#1507) by Yota Toyama
      • Prevent nested errors (#1506) by Yota Toyama
      • Fix nested errors in Rust FFI (#1505) by Yota Toyama
      • Extendable type information function (#1503) by Yota Toyama
      • Refactor FFI crate with type information (#1502) by Yota Toyama
      • Reflect package (#1500) by Yota Toyama
      • Enable integration test on macOS (#1351) by Yota Toyama
      • Bump mkdocs-material from 8.5.3 to 8.5.6 in /doc (#1499) by dependabot[bot]
      • Bump clap from 4.0.7 to 4.0.8 (#1497) by dependabot[bot]
      • Bump ordered-float from 3.1.0 to 3.2.0 (#1498) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.15-x86_64-apple-darwin.tar.xz(13.51 MB)
      pen-0.4.15-x86_64-unknown-linux-gnu.tar.xz(25.44 MB)
    • v0.4.14(Oct 3, 2022)

      • Bump version (#1496) by Yota Toyama
      • Fix error type format in debug function (#1495) by Yota Toyama
      • Refactor type information implementation (#1494) by Yota Toyama
      • Full debug function (#1490) by Yota Toyama
      • Fix concatenation of zero-length strings (#1492) by Yota Toyama
      • Debug function fallback (#1489) by Yota Toyama
      • Fix FFI for new type information format (#1488) by Yota Toyama
      • Refactor (#1487) by Yota Toyama
      • Bump clap from 4.0.4 to 4.0.6 (#1486) by dependabot[bot]
      • debug function for any type (#1461) by Yota Toyama
      • Bump clap from 3.2.22 to 4.0.0 (#1477) by dependabot[bot]
      • Bump fmm-llvm from 9cd34a3 to 1cadbbd (#1484) by dependabot[bot]
      • Bump proc-macro2 from 1.0.44 to 1.0.46 (#1483) by dependabot[bot]
      • Bump actions/upload-artifact from 2 to 3 (#1480) by dependabot[bot]
      • Bump actions/download-artifact from 2 to 3 (#1479) by dependabot[bot]
      • Bump insta from 1.20.0 to 1.21.0 (#1478) by dependabot[bot]
      • Bump tokio from 1.21.1 to 1.21.2 (#1473) by dependabot[bot]
      • Bump actions/checkout from 2 to 3 (#1472) by dependabot[bot]
      • Bump fmm-c from b48650e to 9cd34a3 (#1474) by dependabot[bot]
      • Bump docker/metadata-action from 3 to 4 (#1471) by dependabot[bot]
      • Bump docker/build-push-action from 2 to 3 (#1468) by dependabot[bot]
      • Bump codecov/codecov-action from 2 to 3 (#1470) by dependabot[bot]
      • Bump docker/login-action from 1 to 2 (#1469) by dependabot[bot]
      • Update actions (#1467) by Yota Toyama
      • Refactor variant type collection (#1466) by Yota Toyama
      • Bump syn from 1.0.100 to 1.0.101 (#1464) by dependabot[bot]
      • Bump proc-macro2 from 1.0.43 to 1.0.44 (#1463) by dependabot[bot]
      • Bump mkdocs from 1.3.1 to 1.4.0 in /doc (#1465) by dependabot[bot]
      • Use contexts everywhere in mir-fmm crate (#1462) by Yota Toyama
      • Refactor debug functions (#1459) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.14-x86_64-apple-darwin.tar.xz(13.47 MB)
      pen-0.4.14-x86_64-unknown-linux-gnu.tar.xz(25.48 MB)
    • v0.4.13(Sep 25, 2022)

      • Bump version (#1460) by Yota Toyama
      • Bump mkdocs-material from 8.5.2 to 8.5.3 in /doc (#1453) by dependabot[bot]
      • Bump serde from 1.0.144 to 1.0.145 (#1458) by dependabot[bot]
      • Bump once_cell from 1.14.0 to 1.15.0 (#1454) by dependabot[bot]
      • Bump fmm-llvm from 8dd1861 to b48650e (#1455) by dependabot[bot]
      • Bump itertools from 0.10.4 to 0.10.5 (#1451) by dependabot[bot]
      • Bump ordered-float from 3.0.0 to 3.1.0 (#1452) by dependabot[bot]
      • Bump insta from 1.19.1 to 1.20.0 (#1448) by dependabot[bot]
      • Bump mkdocs-material from 8.5.1 to 8.5.2 in /doc (#1450) by dependabot[bot]
      • Bump fmm-c from edf06ac to 8dd1861 (#1445) by dependabot[bot]
      • Bump syn from 1.0.99 to 1.0.100 (#1446) by dependabot[bot]
      • Bump clap from 3.2.21 to 3.2.22 (#1444) by dependabot[bot]
      • Add manifest.json (#1443) by Yota Toyama
      • Bump mkdocs-material from 8.5.0 to 8.5.1 in /doc (#1442) by dependabot[bot]
      • Bump fmm-llvm from d6e64f1 to edf06ac (#1439) by dependabot[bot]
      • Bump mkdocs-material from 8.4.4 to 8.5.0 in /doc (#1437) by dependabot[bot]
      • Bump clap from 3.2.20 to 3.2.21 (#1436) by dependabot[bot]
      • Bump itertools from 0.10.3 to 0.10.4 (#1435) by dependabot[bot]
      • Bump tokio from 1.21.0 to 1.21.1 (#1434) by dependabot[bot]
      • Bump mkdocs-material from 8.4.3 to 8.4.4 in /doc (#1433) by dependabot[bot]
      • Bump fmm-llvm from e3a1247 to d6e64f1 (#1429) by dependabot[bot]
      • Bump version of ffi crate (#1428) by Yota Toyama
      • Bump convert_case from 0.5.0 to 0.6.0 (#1426) by dependabot[bot]
      • Bump url from 2.3.0 to 2.3.1 (#1422) by dependabot[bot]
      • Bump tokio-util from 0.7.3 to 0.7.4 (#1423) by dependabot[bot]
      • Fix edit URLs (#1425) by Yota Toyama
      • Bump mkdocs-material from 8.4.2 to 8.4.3 in /doc (#1424) by dependabot[bot]
      • Bump url from 2.2.2 to 2.3.0 (#1419) by dependabot[bot]
      • Enable string concatenation optimization (#1420) by Yota Toyama
      • Fix styles in documentation (#1418) by Yota Toyama
      • Fix styles in documentation (#1417) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.13-x86_64-apple-darwin.tar.xz(13.47 MB)
      pen-0.4.13-x86_64-unknown-linux-gnu.tar.xz(25.48 MB)
    • v0.4.12(Sep 6, 2022)

      • Bump version (#1416) by Yota Toyama
      • Update documentation (#1410) by Yota Toyama
      • Bump fmm from 54274fd to e3a1247 (#1412) by dependabot[bot]
      • Optimize string joins into batches (#1409) by Yota Toyama
      • String join operator (#1229) by Yota Toyama
      • Type check with overridden names in imports (#1400) by Yota Toyama
      • Sort unqualified names in imports (#1407) by Yota Toyama
      • Bump tokio from 1.20.1 to 1.21.0 (#1406) by dependabot[bot]
      • Bump once_cell from 1.13.1 to 1.14.0 (#1403) by dependabot[bot]
      • Bump clap from 3.2.19 to 3.2.20 (#1401) by dependabot[bot]
      • Bump fmm from 7ad520a to a601bfc (#1402) by dependabot[bot]
      • Fix ast-hir string parsing (#1399) by Yota Toyama
      • Errors for undefined unqualified imports (#1397) by Yota Toyama
      • Fix comparison of types imported indirectly (#1396) by Yota Toyama
      • Refactor snake game (#1394) by Yota Toyama
      • Snake game (#1375) by Yota Toyama
      • Bump fmm-llvm from e4ce249 to 7ad520a (#1391) by dependabot[bot]
      • Bump fmm from e4ce249 to 7ad520a (#1393) by dependabot[bot]
      • Bump which from 4.2.5 to 4.3.0 (#1392) by dependabot[bot]
      • Bump insta from 1.19.0 to 1.19.1 (#1390) by dependabot[bot]
      • Bump clap from 3.2.18 to 3.2.19 (#1389) by dependabot[bot]
      • Bump fmm-llvm from cb4eb46 to e4ce249 (#1382) by dependabot[bot]
      • Bump fmm-c from cb4eb46 to e4ce249 (#1383) by dependabot[bot]
      • Bump pretty_assertions from 1.2.1 to 1.3.0 (#1385) by dependabot[bot]
      • Bump futures from 0.3.23 to 0.3.24 (#1379) by dependabot[bot]
      • Bump clap from 3.2.17 to 3.2.18 (#1377) by dependabot[bot]
      • Bump fmm from bcee06b to cb4eb46 (#1376) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.12-x86_64-apple-darwin.tar.xz(16.23 MB)
      pen-0.4.12-x86_64-unknown-linux-gnu.tar.xz(17.34 MB)
    • v0.4.11(Aug 28, 2022)

      • Bump version (#1374) by Yota Toyama
      • Update dependencies (#1373) by Yota Toyama
      • Update dependencies (#1372) by Yota Toyama
      • Optimize record update compilation into F-- (#1371) by Yota Toyama
      • Update dependencies (#1370) by Yota Toyama
      • Update dependencies (#1369) by Yota Toyama
      • Bump hamt from 6579752 to 723a40d (#1368) by dependabot[bot]
      • Refactor mir crate (#1363) by Yota Toyama
      • Refactor MIR transformations (#1362) by Yota Toyama
      • ANF in MIR (#1359) by Yota Toyama
      • Bump serde from 1.0.143 to 1.0.144 (#1360) by dependabot[bot]
      • Bump serde_json from 1.0.83 to 1.0.85 (#1356) by dependabot[bot]
      • Bump insta from 1.18.2 to 1.19.0 (#1355) by dependabot[bot]
      • Bump fmm-llvm from df3a81c to e36a630 (#1354) by dependabot[bot]
      • Lambda lifting for closures with environment (#1350) by Yota Toyama
      • Refactor JSON package (#1349) by Yota Toyama
      • Refactor function definitions in MIR (#1347) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.11-x86_64-apple-darwin.tar.xz(16.21 MB)
      pen-0.4.11-x86_64-unknown-linux-gnu.tar.xz(17.33 MB)
    • v0.4.10(Aug 20, 2022)

      • Bump version (#1346) by Yota Toyama
      • Define utility functions for types globally (#1340) by Yota Toyama
      • Bump fmm-llvm from a38ce96 to df3a81c (#1341) by dependabot[bot]
      • Refactor map context definitions (#1330) by Yota Toyama
      • Update F-- (#1338) by Yota Toyama
      • Refactor hir-mir crate (#1337) by Yota Toyama
      • Visibility in MIR (#1331) by Yota Toyama
      • Bump once_cell from 1.13.0 to 1.13.1 (#1333) by dependabot[bot]
      • Cache map contexts (#1328) by Yota Toyama
      • Bump futures from 0.3.21 to 0.3.23 (#1329) by dependabot[bot]
      • Benchmark lambda lifting (#1327) by Yota Toyama
      • Refactor (#1326) by Yota Toyama
      • Lambda lifting for closures with no free variable in MIR (#1320) by Yota Toyama
      • Fix synchronize operation in environment inference (#1321) by Yota Toyama
      • Show types in error messages (#1319) by Yota Toyama
      • Update readme (#1318) by Yota Toyama
      • Update documentation (#1317) by Yota Toyama
      • AST types (#1316) by Yota Toyama
      • Refactor (#1315) by Yota Toyama
      • Override built-ins (#1305) by Yota Toyama
      • Bump clap from 3.2.16 to 3.2.17 (#1314) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.10-x86_64-apple-darwin.tar.xz(16.20 MB)
      pen-0.4.10-x86_64-unknown-linux-gnu.tar.xz(17.33 MB)
    • v0.4.9(Aug 12, 2022)

      • Remove built-in call IR (#1311) by Yota Toyama
      • Bump version (#1304) by Yota Toyama
      • Bump fmm-c from beb0df3 to 0236885 (#1306) by dependabot[bot]
      • Bump insta from 1.18.1 to 1.18.2 (#1307) by dependabot[bot]
      • Bump fmm from beb0df3 to 0236885 (#1309) by dependabot[bot]
      • Fix linting (#1310) by Yota Toyama
      • Fix operation parser (#1303) by Yota Toyama
      • Validate tag names and attribute keys in Html package (#1301) by Yota Toyama
      • Test flag package (#1302) by Yota Toyama
      • Convert char to string in FFI (#1300) by Yota Toyama
      • Update lock file (#1299) by Yota Toyama
      • Fix string escaping in Json package (#1295) by Yota Toyama
      • Fix vulnerability warning (#1296) by Yota Toyama
      • Escape strings in Html package (#1292) by Yota Toyama
      • Bump combine from 4.6.4 to 4.6.6 (#1289) by dependabot[bot]
      • Bump serde from 1.0.142 to 1.0.143 (#1287) by dependabot[bot]
      • Bump fmm-c from e7e9b22 to a981d4e (#1286) by dependabot[bot]
      • Regex package (#1281) by Yota Toyama
      • Bump insta from 1.17.2 to 1.18.0 (#1283) by dependabot[bot]
      • Bump fmm-llvm from 8ddd27a to e7e9b22 (#1282) by dependabot[bot]
      • Random package (#1280) by Yota Toyama
      • async fn generation by import! macro in FFI (#1279) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.9-x86_64-apple-darwin.tar.xz(16.19 MB)
      pen-0.4.9-x86_64-unknown-linux-gnu.tar.xz(17.33 MB)
    • v0.4.8(Aug 6, 2022)

      • Bump version (#1277) by Yota Toyama
      • Update parallel/concurrent computation page (#1250) by Yota Toyama
      • SQL client integration test (#1275) by Yota Toyama
      • Remove PEN_DEBUG environment variable (#1272) by Yota Toyama
      • Refactor FFI functions (#1268) by Yota Toyama
      • Bump serde from 1.0.141 to 1.0.142 (#1270) by dependabot[bot]
      • Bump serde_json from 1.0.82 to 1.0.83 (#1269) by dependabot[bot]
      • into_any macro (#1265) by Yota Toyama
      • Refactor packages with FFI (#1267) by Yota Toyama
      • TCP/UDP integration tests (#1264) by Yota Toyama
      • Update ffi crates in packages (#1253) by Yota Toyama
      • Refactor ffi crate (#1263) by Yota Toyama
      • Bump serde from 1.0.140 to 1.0.141 (#1256) by dependabot[bot]
      • Bump clap from 3.2.15 to 3.2.16 (#1259) by dependabot[bot]
      • Bump indoc from 1.0.6 to 1.0.7 (#1262) by dependabot[bot]
      • Bump insta from 1.17.0 to 1.17.1 (#1261) by dependabot[bot]
      • Bump fmm from 8d36099 to 8ddd27a (#1260) by dependabot[bot]
      • Bump version of ffi crate (#1255) by Yota Toyama
      • Refactor FFI crate (#1254) by Yota Toyama
      • Error conversion in ffi crate (#1252) by Yota Toyama
      • Add error type in FFI (#1251) by Yota Toyama
      • Number parsing in fibonacci example (#1249) by Yota Toyama
      • Race function documentation (#1248) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.8-x86_64-apple-darwin.tar.xz(16.19 MB)
      pen-0.4.8-x86_64-unknown-linux-gnu.tar.xz(17.31 MB)
    • v0.4.7(Jul 29, 2022)

      • Bump version (#1247) by Yota Toyama
      • Variadic stream length in _pen_race runtime function (#1239) by Yota Toyama
      • Downgrade Ubuntu base image (#1246) by Yota Toyama
      • Bump fmm-c from 7516400 to 8d36099 (#1245) by dependabot[bot]
      • Bump insta from 1.16.0 to 1.17.0 (#1242) by dependabot[bot]
      • Fix flaky race function test (#1241) by Yota Toyama
      • Use native calling convention for _pen_spawn runtime function (#1238) by Yota Toyama
      • Bump clap from 3.2.14 to 3.2.15 (#1240) by dependabot[bot]
      • Refactor (#1237) by Yota Toyama
      • Parallel race operation v2 (#758) by Yota Toyama
      • Bump tokio from 1.20.0 to 1.20.1 (#1236) by dependabot[bot]
      • Update dependencies (#1235) by Yota Toyama
      • Disable -gvn pass (#1234) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.7-x86_64-apple-darwin.tar.xz(16.18 MB)
      pen-0.4.7-x86_64-unknown-linux-gnu.tar.xz(17.31 MB)
    • v0.4.6(Jul 24, 2022)

      • Bump version (#1232) by Yota Toyama
      • Fix non-parallel go in Os package (#1231) by Yota Toyama
      • Lazy list constructor (#1230) by Yota Toyama
      • Bump insta from 1.15.0 to 1.16.0 (#1227) by dependabot[bot]
      • Bump fmm-c from df823fa to 1936b38 (#1225) by dependabot[bot]
      • Update directory structure (#1224) by Yota Toyama
      • Separate home page in documentation (#1219) by Yota Toyama
      • Bump clap from 3.2.13 to 3.2.14 (#1223) by dependabot[bot]
      • CI improvements (#1222) by Yota Toyama
      • Bump serde from 1.0.139 to 1.0.140 (#1220) by dependabot[bot]
      • Bump clap from 3.2.12 to 3.2.13 (#1221) by dependabot[bot]
      • Add an entry for HTML package documentation (#1218) by Yota Toyama
      • Html package (#1209) by Yota Toyama
      • Fix infinite recursion with union type of empty records (#1215) by Yota Toyama
      • Fix if-type expression compilation with large union types (take 2) (#1213) by Yota Toyama
      • Fix slow compilation with large map literals (#1210) by Yota Toyama
      • Format multi-line union types (#1208) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.6-x86_64-apple-darwin.tar.xz(16.18 MB)
      pen-0.4.6-x86_64-unknown-linux-gnu.tar.xz(17.30 MB)
    • v0.4.5(Jul 17, 2022)

    • v0.4.4(Jul 14, 2022)

      • Bump version (#1195) by Yota Toyama
      • Bump clap from 3.2.10 to 3.2.11 (#1194) by dependabot[bot]
      • Bump tokio from 1.19.2 to 1.20.0 (#1193) by dependabot[bot]
      • Fix documentation generator bugs (#1192) by Yota Toyama
      • Package types in documentation (#1190) by Yota Toyama
      • Bump clap from 3.2.8 to 3.2.10 (#1189) by dependabot[bot]
      • More string functions in Core'String module (#1188) by Yota Toyama
      • Core'String module update (#1186) by Yota Toyama
      • More functions in Core'Number module (#1185) by Yota Toyama
      • Bump serde from 1.0.138 to 1.0.139 (#1177) by dependabot[bot]
      • Bump fmm from 5772c55 to 6761762 (#1178) by dependabot[bot]
      • Bump fmm-c from 4da4724 to 5772c55 (#1173) by dependabot[bot]
      • Enable strip option (#1171) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.4-x86_64-apple-darwin.tar.xz(16.16 MB)
      pen-0.4.4-x86_64-unknown-linux-gnu.tar.xz(17.28 MB)
    • v0.4.3(Jul 9, 2022)

      • Bump version (#1170) by Yota Toyama
      • Bump criterion from 0.3.5 to 0.3.6 (#1169) by dependabot[bot]
      • Bump regex from 1.5.6 to 1.6.0 (#1168) by dependabot[bot]
      • Bump fmm from 97bc7c7 to 4da4724 (#1167) by dependabot[bot]
      • Update built-in documentation (#1162) by Yota Toyama
      • Remove prelude module import hacks (#1161) by Yota Toyama
      • Built-ins for error handling (#1156) by Yota Toyama
      • Bump fmm from 19fa99e to 97bc7c7 (#1159) by dependabot[bot]
      • Bump fmm-c from 19fa99e to 97bc7c7 (#1157) by dependabot[bot]
      • Bump once_cell from 1.12.1 to 1.13.0 (#1158) by dependabot[bot]
      • Debug built-in function (#1150) by Yota Toyama
      • Bump once_cell from 1.12.0 to 1.12.1 (#1154) by dependabot[bot]
      • Bump fmm-c from b6e04b8 to 19fa99e (#1152) by dependabot[bot]
      • Remove spawn operations (#1151) by Yota Toyama
      • Go built-in function (#1148) by Yota Toyama
      • Size function (#1146) by Yota Toyama
      • Update dependencies (#1145) by Yota Toyama
      • Bump clap from 3.2.7 to 3.2.8 (#1143) by dependabot[bot]
      • Bump serde_json from 1.0.81 to 1.0.82 (#1144) by dependabot[bot]
      • Update readme (#1142) by Yota Toyama
      • Use original mdbook-pagetoc (#1141) by Yota Toyama
      • Bump clap from 3.2.6 to 3.2.7 (#1140) by dependabot[bot]
      • Enable integration tests on macOS (#1129) by Yota Toyama
      • Use pagetoc plugin (#1139) by Yota Toyama
      • Refactor Homebrew release (#1137) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.3-x86_64-apple-darwin.tar.xz(16.15 MB)
      pen-0.4.3-x86_64-unknown-linux-gnu.tar.xz(17.28 MB)
    • v0.4.2(Jun 27, 2022)

    • v0.4.1(Jun 26, 2022)

    • v0.4.0(Jun 25, 2022)

      • Fix release workflow permissions (#1130) by Yota Toyama
      • Bump version (#1128) by Yota Toyama
      • Update dependencies (#1127) by Yota Toyama
      • Update documentation (#1125) by Yota Toyama
      • Bump quote from 1.0.19 to 1.0.20 (#1123) by dependabot[bot]
      • Bump clap from 3.2.5 to 3.2.6 (#1124) by dependabot[bot]
      • Refactor (#1122) by Yota Toyama
      • Bump syn from 1.0.97 to 1.0.98 (#1120) by dependabot[bot]
      • Bump quote from 1.0.18 to 1.0.19 (#1119) by dependabot[bot]
      • Bump fmm-c from 0391296 to 3201114 (#1117) by dependabot[bot]
      • Benchmark output (#1116) by Yota Toyama
      • Fibonacci benchmark (#1115) by Yota Toyama
      • Fix license link (#1114) by Yota Toyama
      • Update license section (#1113) by Yota Toyama
      • Fix sum benchmark in Rust (#1112) by Yota Toyama
      • Benchmark update (#1111) by Yota Toyama
      • Update F-- (#1110) by Yota Toyama
      • Benchmark workflow (#1109) by Yota Toyama
      • Optimize map literal with mutable unique references (#1102) by Yota Toyama
      • Bump fmm-c from dd94acd to b8b93a8 (#1106) by dependabot[bot]
      • Bump fmm-c from abc4837 to dd94acd (#1103) by dependabot[bot]
      • Refactor (#1101) by Yota Toyama
      • Refactor (#1099) by Yota Toyama
      • Optimize map literals with first elements of spread maps (#1100) by Yota Toyama
      • Bump clap from 3.2.3 to 3.2.5 (#1098) by dependabot[bot]
      • Relaxed atomic operations for thunks (#1096) by Yota Toyama
      • Bump clap from 3.2.1 to 3.2.3 (#1097) by dependabot[bot]
      • Refactor (#1095) by Yota Toyama
      • Refactor atomic operations for thunks (#1094) by Yota Toyama
      • MIR fake API (#1093) by Yota Toyama
      • Change synchronized unique counts (#1091) by Yota Toyama
      • Bump clap from 3.1.18 to 3.2.1 (#1092) by dependabot[bot]
      • Bump ffi crate version (#1089) by Yota Toyama
      • Review atomic operations (#1088) by Yota Toyama
      • Fix typo (#1087) by Yota Toyama
      • Document map type (#1086) by Yota Toyama
      • Update documentation (#1084) by Yota Toyama
      • Add record (#1082) by Yota Toyama
      • Fix closure environment drop in Rust FFI (#1081) by Yota Toyama
      • Refactor memory block header structure (#1080) by Yota Toyama
      • Refactor relaxed reference counting (#1078) by Yota Toyama
      • Relaxed atomic operations in reference counting (#1066) by Yota Toyama
      • Use Ubuntu 22 (#1076) by Yota Toyama
      • Follow up closure metadata (#1074) by Yota Toyama
      • Closure metadata (#1073) by Yota Toyama
      • Bump fmm from 7568009 to 13fe450 (#1071) by dependabot[bot]
      • Rename function (#1068) by Yota Toyama
      • Remove reuse operations (#1067) by Yota Toyama
      • Bump fmm from c7544b8 to 7568009 (#1065) by dependabot[bot]
      • Bump fmm-llvm from c7544b8 to 7568009 (#1064) by dependabot[bot]
      • Bump tokio-util from 0.7.2 to 0.7.3 (#1061) by dependabot[bot]
      • Bump tokio from 1.18.2 to 1.19.2 (#1062) by dependabot[bot]
      • Bump syn from 1.0.95 to 1.0.96 (#1063) by dependabot[bot]
      • Compile spawn operation with mark-sync operation (#1060) by Yota Toyama
      • mark-sync operation prototype (#1057) by Yota Toyama
      • Allow small coverage decrease (#1055) by Yota Toyama
      • 32 bit count in reference counting (#1050) by Yota Toyama
      • Bump fmm-c from 2489627 to c7544b8 (#1053) by dependabot[bot]
      • Bump insta from 1.14.0 to 1.14.1 (#1047) by dependabot[bot]
      • Bump fmm-llvm from eb89d21 to 2489627 (#1048) by dependabot[bot]
      • Update documentation (#1045) by Yota Toyama
      • Bump petgraph from 0.6.1 to 0.6.2 (#1044) by dependabot[bot]
      • Bump fmm-c from 8aeebaa to eb89d21 (#1042) by dependabot[bot]
      • Move pages (#1040) by Yota Toyama
      • Update dependencies (#1038) by Yota Toyama
      • Simple small record boxing strategy (#1033) by Yota Toyama
      • Bump fmm-llvm from cf99ea5 to 8aeebaa (#1036) by dependabot[bot]
      • Bump fmm from cf99ea5 to 8aeebaa (#1035) by dependabot[bot]
      • Bump once_cell from 1.11.0 to 1.12.0 (#1034) by dependabot[bot]
      • Remove boxAny types (#1032) by Yota Toyama
      • Different boxing strategy for variants and FFI (#1025) by Yota Toyama
      • Bump regex from 1.5.5 to 1.5.6 (#1030) by dependabot[bot]
      • Bump petgraph from 0.6.0 to 0.6.1 (#1031) by dependabot[bot]
      • Bump fmm from c86695d to cf99ea5 (#1028) by dependabot[bot]
      • Rename functions (#1026) by Yota Toyama
      • Rename modules (#1024) by Yota Toyama
      • Record update in MIR (#1022) by Yota Toyama
      • Fix linting (#1023) by Yota Toyama
      • Refactor (#1021) by Yota Toyama
      • Bump aruba from 2.0.1 to 2.1.0 (#1017) by dependabot[bot]
      • Bump fmm-c from 0d2e8e3 to a36343f (#1018) by dependabot[bot]
      • Bump once_cell from 1.10.0 to 1.11.0 (#1015) by dependabot[bot]
      • Update dependencies (#1014) by Yota Toyama
      • Update dependencies (#1012) by Yota Toyama
      • Bump fmm-c from a9a2844 to 5066e56 (#1009) by dependabot[bot]
      • Heap block reuse on reference counting (#994) by Yota Toyama
      • Bump syn from 1.0.93 to 1.0.94 (#1006) by dependabot[bot]
      • Bump tokio-util from 0.7.1 to 0.7.2 (#1005) by dependabot[bot]
      • Bump fmm from 3006dcc to a9a2844 (#1003) by dependabot[bot]
      • Bump clap from 3.1.17 to 3.1.18 (#1001) by dependabot[bot]
      • Update dependencies (#1000) by Yota Toyama
      • Bump tokio from 1.18.1 to 1.18.2 in /packages/http/ffi (#997) by dependabot[bot]
      • Bump indoc from 1.0.5 to 1.0.6 (#996) by dependabot[bot]
      • Bump tokio from 1.18.1 to 1.18.2 (#995) by dependabot[bot]
      • Bump indoc from 1.0.4 to 1.0.5 (#992) by dependabot[bot]
      • Bump clap from 3.1.15 to 3.1.17 (#993) by dependabot[bot]
      • Add String'Concatenate (#991) by Yota Toyama
      • Update roadmap (#989) by Yota Toyama
      • Inject map context (#987) by Yota Toyama
      • Build log improvements (#985) by Yota Toyama
      • Bump serde_json from 1.0.80 to 1.0.81 (#986) by dependabot[bot]
      • Fix automatic imports of context modules (#983) by Yota Toyama
      • Rename (#984) by Yota Toyama
      • Rename public FFI API (#980) by Yota Toyama
      • Sql package example improvements (#978) by Yota Toyama
      • DML execution in Sql package (#974) by Yota Toyama
      • Bump tokio from 1.18.0 to 1.18.1 (#975) by dependabot[bot]
      • Install full tokio-util (#973) by Yota Toyama
      • Sql package (#964) by Yota Toyama
      • List conversion API in ffi crate (#972) by Yota Toyama
      • Ffi package (#970) by Yota Toyama
      • Any type conversion API in ffi crate (#968) by Yota Toyama
      • Any type API in ffi crate (#967) by Yota Toyama
      • Bump syn from 1.0.91 to 1.0.92 (#966) by dependabot[bot]
      • FFI result type (#965) by Yota Toyama
      • Bump aruba from 2.0.0 to 2.0.1 (#963) by dependabot[bot]
      • Enable HTTP 2.0 (#962) by Yota Toyama
      • Use void type as CPS results in FFI (#961) by Yota Toyama
      • Refactor FFI in Core package (#959) by Yota Toyama
      • FFI list iterator (#958) by Yota Toyama
      • Ffi package (#957) by Yota Toyama
      • HTTP headers in responses (#953) by Yota Toyama
      • Bump clap from 3.1.10 to 3.1.12 (#952) by dependabot[bot]
      • Refactor (#951) by Yota Toyama
      • Separate packages directory (#949) by Yota Toyama
      • HTTP headers in requests (#948) by Yota Toyama
      • Fix implicit type imports v2 (#946) by Yota Toyama
      • Fix record operation positions in error messages (#943) by Yota Toyama
      • Bump clap from 3.1.9 to 3.1.10 (#945) by dependabot[bot]
      • Fix formatter with try operations (#942) by Yota Toyama
      • HTTP client (#940) by Yota Toyama
      • Move arguments as well as closure in call macro (#941) by Yota Toyama
      • Http server package (#937) by Yota Toyama
      • Fix call macro in ffi crate (#939) by Yota Toyama
      • Experimental closure call macro (#938) by Yota Toyama
      • JSON encoder (#935) by Yota Toyama
      • Refactor ffi crate (#933) by Yota Toyama
      • Flag package (#911) by Yota Toyama
      • Refactor expression compiler (#932) by Yota Toyama
      • Migrate smoke features to prelude-test package (#931) by Yota Toyama
      • Remove unused modules and functions (#930) by Yota Toyama
      • Map examples (#833) by Yota Toyama
      • Test prelude package (#928) by Yota Toyama
      • Map iteration (#924) by Yota Toyama
      • Remove memory leak test in loop (#927) by Yota Toyama
      • Bump quote from 1.0.17 to 1.0.18 (#926) by dependabot[bot]
      • Refactor expression compiler (#925) by Yota Toyama
      • Refactor standard packages (#921) by Yota Toyama
      • Json package (#851) by Yota Toyama
      • Fix if-type expressions with maps (#920) by Yota Toyama
      • Fix map comparison with keys (#919) by Yota Toyama
      • Remove hacks for LLVM 13 (#916) by Yota Toyama
      • Test knapsack example (#917) by Yota Toyama
      • Revert integration test skip on CI (#918) by Yota Toyama
      • Use LLVM 14 in CI (#913) by Yota Toyama
      • Fix CI Docker image (#915) by Yota Toyama
      • Fix CI Docker image (#914) by Yota Toyama
      • CI Docker image (#912) by Yota Toyama
      • Bump syn from 1.0.90 to 1.0.91 (#910) by dependabot[bot]
      • Refactor (#905) by Yota Toyama
      • Fix document feature (#904) by Yota Toyama
      • Support type aliases for context types (#902) by Yota Toyama
      • Rename definitions function definitions (#901) by Yota Toyama
      • Update Os package documentation (#900) by Yota Toyama
      • Standard package documentation generation (#888) by Yota Toyama
      • Bump insta from 1.13.0 to 1.14.0 (#899) by dependabot[bot]
      • Bump which from 4.2.4 to 4.2.5 (#898) by dependabot[bot]
      • Bump pretty_assertions from 1.2.0 to 1.2.1 (#895) by dependabot[bot]
      • Bump syn from 1.0.86 to 1.0.90 (#894) by dependabot[bot]
      • Bump quote from 1.0.15 to 1.0.17 (#893) by dependabot[bot]
      • Bump fmm-c from 587e816 to 2dddd90 (#892) by dependabot[bot]
      • Bump clap from 3.1.6 to 3.1.8 (#891) by dependabot[bot]
      • Disable strip (#890) by Yota Toyama
      • Fix more help messages in CLI (#887) by Yota Toyama
      • Fix module format (#886) by Yota Toyama
      • Fix CLI argument help messages (#883) by Yota Toyama
      • Documentation generator (#878) by Yota Toyama
      • Update documentation (#882) by Yota Toyama
      • Fix code block language (#881) by Yota Toyama
      • pen format --check (#880) by Yota Toyama
      • Define operator priority in one place (#879) by Yota Toyama
      • Fix parent node break in code formatter (#877) by Yota Toyama
      • Refactor code formatter (#876) by Yota Toyama
      • Code formatter v2 (#874) by Yota Toyama
      • Code formatter improvements (#872) by Yota Toyama
      • Format comments (#870) by Yota Toyama
      • Comment parser (#869) by Yota Toyama
      • Code formatter (Part 4) (#868) by Yota Toyama
      • Run integration test conditionally (#867) by Yota Toyama
      • Fix positions in unknown record field errors (#866) by Yota Toyama
      • Code formatter (Part 3) (#863) by Yota Toyama
      • Code formatter (Part 2) (#862) by Yota Toyama
      • Code formatter (#856) by Yota Toyama
      • Refactor (#857) by Yota Toyama
      • Fix keyword parser (#855) by Yota Toyama
      • Collect generic type from equal operation (#854) by Yota Toyama
      • Validate recursive type aliases (#852) by Yota Toyama
      • Fix generic type collection for map expressions (#849) by Yota Toyama
      • Comparable map type (#847) by Yota Toyama
      • Install tools first (#848) by Yota Toyama
      • CI Docker image (#846) by Yota Toyama
      • Map type (#822) by Yota Toyama
      • Fix coverage workflow (#845) by Yota Toyama
      • Enable strip option (#844) by Yota Toyama
      • Bump pretty_assertions from 1.1.0 to 1.2.0 (#842) by dependabot[bot]
      • Bump fmm from cf76609 to 587e816 (#843) by dependabot[bot]
      • Bump fmm-llvm from 47aa595 to cf76609 (#836) by dependabot[bot]
      • Add go as keyword in doc (#835) by Yota Toyama
      • Bump regex from 1.5.4 to 1.5.5 (#832) by dependabot[bot]
      • Bump siphasher from 0.3.9 to 0.3.10 in /lib/core/ffi (#831) by dependabot[bot]
      • Bump clap from 3.1.5 to 3.1.6 (#830) by dependabot[bot]
      • Bump insta from 1.12.0 to 1.13.0 (#827) by dependabot[bot]
      • Bump fmm from 7a0f3d4 to 47aa595 (#826) by dependabot[bot]
      • Fix unused error validation with prelude modules (#825) by Yota Toyama
      • Refactor (#823) by Yota Toyama
      • Refactor (#821) by Yota Toyama
      • Refactor HIR validation (#813) by Yota Toyama
      • Loose version requirements (#820) by Yota Toyama
      • Bump once_cell from 1.9.0 to 1.10.0 in /lib/os/ffi (#818) by dependabot[bot]
      • Bump once_cell from 1.9.0 to 1.10.0 in /lib/os-sync/ffi (#819) by dependabot[bot]
      • Bump fmm-c from 0c01068 to 7a0f3d4 (#816) by dependabot[bot]
      • Bump fmm from 0c01068 to 7a0f3d4 (#815) by dependabot[bot]
      • Bump once_cell from 1.9.0 to 1.10.0 (#814) by dependabot[bot]
      • Refactor (#812) by Yota Toyama
      • Display types (#806) by Yota Toyama
      • Bump clap from 3.1.3 to 3.1.5 (#810) by dependabot[bot]
      • Bump termcolor from 1.1.2 to 1.1.3 (#809) by dependabot[bot]
      • Update setup.sh (#811) by Yota Toyama
      • Use ruby 3.1 (#807) by Yota Toyama
      • Fix position propagation (#805) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.4.0-x86_64-apple-darwin.tar.xz(16.13 MB)
      pen-0.4.0-x86_64-unknown-linux-gnu.tar.xz(17.26 MB)
    • v0.3.15(Mar 2, 2022)

      • Bump version (#804) by Yota Toyama
      • Validate unused error types (#799) by Yota Toyama
      • Trampoline function call v2 (#795) by Yota Toyama
      • Bump clap from 3.1.2 to 3.1.3 (#802) by dependabot[bot]
      • Bump fmm from b842b42 to 0c01068 (#801) by dependabot[bot]
      • Union and any type use validation in FFI (#796) by Yota Toyama
      • Refactor (#794) by Yota Toyama
      • Refactor (#793) by Yota Toyama
      • Fix typo (#790) by Yota Toyama
      • Bump clap from 3.1.1 to 3.1.2 (#789) by dependabot[bot]
      • Lazy evaluation in list comprehension (#787) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.3.15-x86_64-apple-darwin.tar.xz(17.09 MB)
      pen-0.3.15-x86_64-unknown-linux-gnu.tar.xz(17.28 MB)
    • v0.3.14(Feb 22, 2022)

      • Bump version (#785) by Yota Toyama
      • Update documentation (#784) by Yota Toyama
      • Bump clap from 3.1.0 to 3.1.1 (#782) by dependabot[bot]
      • Bump fmm-llvm from 1cd4451 to 9d4e8fe (#783) by dependabot[bot]
      • Update documentation (#779) by Yota Toyama
      • Update documentation (#777) by Yota Toyama
      • Fix type check in if-type expressions (#778) by Yota Toyama
      • Fix readme example (#776) by Yota Toyama
      • Refactor (#775) by Yota Toyama
      • Thunk lock handling (#774) by Yota Toyama
      • Global thunks (#773) by Yota Toyama
      • Algorithm examples (#747) by Yota Toyama
      • Update dependencies (#769) by Yota Toyama
      • Bump indoc from 1.0.3 to 1.0.4 (#767) by dependabot[bot]
      • Bump fmm-llvm from 43d52ad to 4033a70 (#766) by dependabot[bot]
      • Bump fmm-c from 43d52ad to 4033a70 (#765) by dependabot[bot]
      • Continuation stack limit (#764) by Yota Toyama
      • Bump clap from 3.0.14 to 3.1.0 (#760) by dependabot[bot]
      • Update F-- (#763) by Yota Toyama
      • Bump tokio from 1.16.1 to 1.17.0 in /lib/os/ffi (#762) by dependabot[bot]
      • Bump tokio from 1.16.1 to 1.17.0 (#761) by dependabot[bot]
      • Remove arguments from thunks (#759) by Yota Toyama
      • Refactor spawn operations (#746) by Yota Toyama
      • Remove unnecessary send and sync (#756) by Yota Toyama
      • Implement Sync for ffi::Any (#755) by Yota Toyama
      • Bump rand from 0.8.4 to 0.8.5 in /lib/os/ffi (#754) by dependabot[bot]
      • Bump rand from 0.8.4 to 0.8.5 in /lib/os-sync/ffi (#753) by dependabot[bot]
      • Bump fmm-c from 6487714 to 91017bb (#749) by dependabot[bot]
      • Bump serde_json from 1.0.78 to 1.0.79 (#751) by dependabot[bot]
      • Fix stdio buffering (#748) by Yota Toyama
      • Package type fields in package configurations (#745) by Yota Toyama
      • Multiple system packages (#744) by Yota Toyama
      • Refactor (#743) by Yota Toyama
      • Return none from main functions (#738) by Yota Toyama
      • Bump fmm from 539bb93 to 6487714 (#742) by dependabot[bot]
      • Rename system packages (#736) by Yota Toyama
      • Fix flaky tests (#737) by Yota Toyama
      • System package flag (#733) by Yota Toyama
      • Bump futures from 0.3.19 to 0.3.21 (#735) by dependabot[bot]
      • Exit functions (#731) by Yota Toyama
      Source code(tar.gz)
      Source code(zip)
      pen-0.3.14-x86_64-apple-darwin.tar.xz(17.12 MB)
      pen-0.3.14-x86_64-unknown-linux-gnu.tar.xz(17.30 MB)
    • v0.3.13(Feb 6, 2022)

      • Fix empty output (#732) by Yota Toyama
      • Bump version (#730) by Yota Toyama
      • Move semi-colon (#672) by Yota Toyama
      • Generalized map (#726) by Yota Toyama
      • Bump fmm-c from 9b7a22a to 539bb93 (#728) by dependabot[bot]
      • Refactor (#725) by Yota Toyama
      • Fix list prepend compexity order (#723) by Yota Toyama
      • Bump clap from 3.0.13 to 3.0.14 (#724) by dependabot[bot]
      • Bump fmm from 9fbe218 to 9b7a22a (#721) by dependabot[bot]
      • Bump fmm-llvm from 9fbe218 to 9b7a22a (#720) by dependabot[bot]
      • Bump pretty_assertions from 1.0.0 to 1.1.0 (#719) by dependabot[bot]
      • Merge function in Map module (#718) by Yota Toyama
      • Map iteration (#716) by Yota Toyama
      • Build and test standard packages (#715) by Yota Toyama
      • Map type in Core package (#676) by Yota Toyama
      • pen test subcommand without Test package (#714) by Yota Toyama
      • Rename test summary (#713) by Yota Toyama
      • Configure rustfmt (#712) by Yota Toyama
      • Format comments (#711) by Yota Toyama
      • Update documentation (#709) by Yota Toyama
      • Fix linting (#708) by Yota Toyama
      • Bump tokio from 1.16.0 to 1.16.1 in /lib/os/ffi (#707) by dependabot[bot]
      • Bump tokio from 1.16.0 to 1.16.1 (#703) by dependabot[bot]
      • Bump fmm-c from 8163817 to 9fbe218 (#704) by dependabot[bot]
      • Update dependencies (#701) by Yota Toyama
      • Source file mapping in dependency cycle error messages (#702) by Yota Toyama
      • Binary/hexadecimal number literals (#698) by Yota Toyama
      • Update deps (#697) by Yota Toyama
      • Update dependencies (#696) by Yota Toyama
      • Comment on wrong positions in parse errors (#694) by Yota Toyama
      • Bump serde from 1.0.135 to 1.0.136 (#695) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.3.13-x86_64-apple-darwin.tar.xz(16.75 MB)
      pen-0.3.13-x86_64-unknown-linux-gnu.tar.xz(17.26 MB)
    • v0.3.12(Jan 26, 2022)

      • Bump version (#693) by Yota Toyama
      • Implement hash for string in ffi crate (#692) by Yota Toyama
      • Bump fmm-llvm from 6c22f29 to 418622c (#690) by dependabot[bot]
      • Bump clap from 3.0.11 to 3.0.12 (#688) by dependabot[bot]
      • Bump clap from 3.0.10 to 3.0.11 (#686) by dependabot[bot]
      • Bump which from 4.2.2 to 4.2.4 (#684) by dependabot[bot]
      • Bump fmm from 55c8439 to 6c22f29 (#683) by dependabot[bot]
      • Make memory leak tests less flaky (#682) by Yota Toyama
      • Disable singleton record syntax sugar (#678) by Yota Toyama
      • Bump insta from 1.10.0 to 1.11.0 (#680) by dependabot[bot]
      • Disable retry (#679) by Yota Toyama
      • Fix dependabot configurations (#677) by Yota Toyama
      • Bump serde_json from 1.0.77 to 1.0.78 (#675) by dependabot[bot]
      • Bump serde from 1.0.134 to 1.0.135 (#674) by dependabot[bot]
      • Bit module in Core package (#673) by Yota Toyama
      • Add more dependabot configuration (#666) by Yota Toyama
      • Bump fmm-c from ff01b17 to 55c8439 (#668) by dependabot[bot]
      • List type in ffi crate (#664) by Yota Toyama
      • Environment variable check performance bug in os packages (#663) by Yota Toyama
      • More efficient string joins (#662) by Yota Toyama
      • Bump quote from 1.0.14 to 1.0.15 (#661) by dependabot[bot]
      • Use fnv crate for reproducible builds instead of B-trees (#658) by Yota Toyama
      • Bump serde from 1.0.133 to 1.0.134 (#660) by dependabot[bot]
      • Refactor examples with list comprehension (#657) by Yota Toyama
      • Refactor (#656) by Yota Toyama
      • Update dependencies (#655) by Yota Toyama
      • List comprehension (#640) by Yota Toyama
      • Reference count validation (#652) by Yota Toyama
      • Bump syn from 1.0.85 to 1.0.86 (#653) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.3.12-x86_64-apple-darwin.tar.xz(16.75 MB)
      pen-0.3.12-x86_64-unknown-linux-gnu.tar.xz(17.28 MB)
    • v0.3.11(Jan 20, 2022)

      • Bump version (#650) by Yota Toyama
      • Bump clap from 3.0.9 to 3.0.10 (#649) by dependabot[bot]
      • Bump clap from 3.0.8 to 3.0.9 (#644) by dependabot[bot]
      • Bump clap from 3.0.7 to 3.0.8 (#643) by dependabot[bot]
      • Bump serde_json from 1.0.74 to 1.0.75 (#642) by dependabot[bot]
      • Refactor (#639) by Yota Toyama
      • Package path change (#638) by Yota Toyama
      • Convert file paths in build files (#637) by Yota Toyama
      • Refactor (#635) by Yota Toyama
      • Turtle integration (#633) by Yota Toyama
      • Bump combine from 4.6.2 to 4.6.3 (#632) by dependabot[bot]
      • Bump clap from 3.0.6 to 3.0.7 (#631) by dependabot[bot]
      • Bump clap from 3.0.5 to 3.0.6 (#630) by dependabot[bot]
      • Bump tempfile from 3.2.0 to 3.3.0 (#629) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.3.11-x86_64-apple-darwin.tar.xz(16.81 MB)
      pen-0.3.11-x86_64-unknown-linux-gnu.tar.xz(17.32 MB)
    • v0.3.10(Jan 9, 2022)

      • Bump version (#627) by Yota Toyama
      • Update documentation (#628) by Yota Toyama
      • Refactor (#626) by Yota Toyama
      • Check variant alternatives in case expressions (#625) by Yota Toyama
      • Bump clap from 3.0.4 to 3.0.5 (#624) by dependabot[bot]
      • Bump syn from 1.0.84 to 1.0.85 (#623) by dependabot[bot]
      • Refactor (#620) by Yota Toyama
      • Bump clap from 3.0.2 to 3.0.4 (#622) by dependabot[bot]
      • Bump insta from 1.9.0 to 1.10.0 (#621) by dependabot[bot]
      • Spawn operation (#593) by Yota Toyama
      • Bump clap from 3.0.1 to 3.0.2 (#619) by dependabot[bot]
      • Bump clap from 2.34.0 to 3.0.0 (#616) by dependabot[bot]
      Source code(tar.gz)
      Source code(zip)
      pen-0.3.10-x86_64-apple-darwin.tar.xz(16.81 MB)
      pen-0.3.10-x86_64-unknown-linux-gnu.tar.xz(17.34 MB)
    Owner
    Pen programming language
    Pen programming language
    An OOP programming language I am making by following Crafting Interpreters.

    horba An OOP programming language I am making by following Crafting Interpreters. https://craftinginterpreters.com/ I intend it to have a somewhat C-s

    Thomas 3 Dec 5, 2021
    Yet Another Programming Language

    Yet Another Programming Language

    null 4 Sep 15, 2021
    luau bindings for the Rust programming language

    ?? luau-rs Luau bindings for the Rust programming language using bindgen ⚠️ Disclaimer This does not provide bindings for everything as luau does not

    Vurv 18 Aug 3, 2022
    Czech for the Rust programming language

    rez Nejsi you tired from writing Rust programs in English? Do you like saying do prdele or pivo a lot? Would you like to try something different, in a

    Radek Vít 13 Oct 9, 2022
    The official home of the Nyson Programming Language, built off Rust.

    Nyson Programming Language The official home of the Nyson Programming Language, built off Rust. (created by Nyelsonon and AMTitan, 2021) Advertisement

    Nyson-Programing-Language 19 Aug 10, 2022
    A newborn programming language for extensible software

    A newborn programming language for extensible software.

    Alexey Shmalko 17 Nov 29, 2022
    A simple programming language made for scripting inspired on rust and javascript.

    FnXY Programming Language Quick move: CONTRIBUTING | LICENSE What? FnXY is a simple programming language made for scripting inspired on rust and javas

    null 2 Nov 27, 2021
    A multithreaded programming language!

    hydracane A multithreaded programming language! Getting started Coming Soon! Features: Multithreaded Platform independent Folders: src/vm: The Virtual

    Krishna Ramasimha 0 Dec 10, 2021
    CARBON is an interface-centric programming language named after the concept of an allotropy.

    CARBON programming language Status: just an idea CARBON is an interface-centric programming language named after the concept of an allotropy. It is an

    Tim McNamara 4 Aug 18, 2022
    Lisp-style programming language

    Bobbylisp A programming language, syntax are like mal and clojure. This project follow mal guides, Planning to add some more features after finishing

    azur 36 Dec 19, 2022
    An interpreter for the esoteric programming language, Brainf*ck.

    Brainf*ck Interpreter This is just a normal Brainf*ck interpreter written in Rust. If you don't know what Brainf*ck is, you can check out the wikipedi

    Callum Irving 0 Dec 23, 2021
    Pua-lang - a dialect of The Monkey Programming Language

    pua-lang PUA Programming Language written in Rust. What's pua-lang? pua-lang is a dialect of The Monkey Programming Language, intended to mirror the i

    flaneur 3.2k Jan 6, 2023
    The Fluet programming language.

    fluet Fluet is a scripting language. License Fluet is licensed under the Mozilla Public License, v. 2.0. Contributors may dual license their contribut

    null 11 May 4, 2022
    Ethereal - a general-purpose programming language that is designed to be fast and simple

    Ethereal is a general-purpose programming language that is designed to be fast and simple. Heavly inspired by Monkey and written in Rust

    Synthesized Infinity 21 Nov 25, 2022
    Dc improved: Feature-added rewrite of a 50+ year old RPN calculator/stack machine/programming language

    dcim [WIP] dc improved: Feature-added rewrite of a 50+ year old RPN calculator/stack machine/programming language This readme is currently incomplete.

    null 3 Jun 18, 2022
    Squirt is a easy-to-use programming language.

    Squirt is a easy-to-use programming language.

    QuqqU 5 Nov 30, 2022
    Osmon's compiler crate. Programming language made for starter & novice Uzbek audience.

    Osmon Tili Osmon bu registrlarga asoslangan virtual mashinalik va yengil dasturlash tili Osmon boshqa o'zbek open source dasturchisi Sukhrob Khakimovn

    Osmon 31 Dec 22, 2022
    Create, open, manage your Python projects with ease, a project aimed to make python development experience a little better

    Create, open, manage your Python projects with ease, a project aimed to make python development experience a little better

    Dhravya Shah 7 Nov 18, 2022
    Simple devcontainer for Rust + WASM development

    Devcontainer WASM-Rust Simple devcontainer for Rust development Usage Github Codespaces Just click the button: Visual Studio Code Note this assumes th

    null 2 Dec 22, 2022