Fly50W is a new language which helps you build simple apps using more than 500k lines of code easily.

Related tags

Miscellaneous fly50w
Overview

fly50w

Fly50W is a new language which helps you build simple apps using more than 500k lines of code easily.

Installation

1. From source

First you need to setup PHP 8.0 environment on your machine.

For Ubuntu users, do the following:

sudo add-apt-repository ppa:ondrej/php # When prompted, press 
   
sudo apt update
sudo apt -y install php8.0-cli

Then head to https://getcomposer.org to install composer on your machine.

Then clone this repo, and run:

composer install # Or `php composer.phar install`, based on the way you installed composer

Now you've installed all the dependencies on your machine. You can simply run:

./fly50w -h

To see the help message.

2. From Composer

First you need to have PHP 8.0 and Composer 2.1 installed.

Then run:

composer g require flylang/fly50w:dev-main

And you will able to run

composer exec fly50w

to access fly50w.

3. From Docker

You can run this for fly50w compiler and VM:

docker run --rm -ti xtlsoft/fly50w:main

You can run this for fly50w playground server:

docker run -p 28111:28111 -d xtlsoft/fly50w-playground:main

Examples

You can see 'test/' folder.

About

This project uses many black magics for PHP.

I even heavily used 'goto' in the project.

The project is fully type annotated. You can use tools like Psalm to check.

You might also like...
Simple custom chat bot developing framework for telegram, qq and more in PHP (the best language)
Simple custom chat bot developing framework for telegram, qq and more in PHP (the best language)

RinoBot RinoBot 是一个为统一聊天机器人扩展开发的框架,编写一份插件用于多种机器人协议。 简体中文 | English 🚧 开发中 🚧 暂不适用于生产环境 特性 插件扩展机制 一份代码运行于多平台多协议机器人 并减小开发难度 插件提供 Yaml 配置 供使用者修改 基于机器人 We

Orangescrum is a simple yet powerful free and open source project management software that helps team to organize their tasks, projects and deliver more.
Orangescrum is a simple yet powerful free and open source project management software that helps team to organize their tasks, projects and deliver more.

Free, open source Project Management software Introduction Orangescrum is the simple yet powerful free and open source project management software tha

Matplotlib. Pyplot written in PHP. Graphs charts, scatter, plot, lines, custom graphs
Matplotlib. Pyplot written in PHP. Graphs charts, scatter, plot, lines, custom graphs

php-libplot. Written in PHP. Graphs charts, scatter, plot, lines, custom graphs Matplotlib. Pyplot written in PHP. Graphs charts, scatter, plot, lines

A Laravel package which helps you to flush sessions with an artisan command.

A simple laravel Package to flush sessions via artisan command. Sometimes we store data on sessions such as cart data or maybe any information regardi

A Laravel Wrapper for the Binance API. Now easily connect and consume the Binance Public & Private API in your Laravel apps without any hassle.
A Laravel Wrapper for the Binance API. Now easily connect and consume the Binance Public & Private API in your Laravel apps without any hassle.

This package provides a Laravel Wrapper for the Binance API and allows you to easily communicate with it. Important Note This package is in early deve

A repository for showcasing my knowledge of the PHP programming language, and continuing to learn the language.

Learning PHP (programming language) I know very little about PHP. This document will list all my knowledge of the PHP programming language. Basic synt

A Symfony Feature Flag Bundle which easily allows you to configure and use your favorite feature flag provider.

Metro Markets FF Metro Markets FF is a Feature Flag Symfony Bundle. It easily allows you to configure and use your favorite feature flag provider. Ins

DiscordLookup | Get more out of Discord with Discord Lookup! Snowflake Decoder, Guild List with Stats, Invite Info and more...
DiscordLookup | Get more out of Discord with Discord Lookup! Snowflake Decoder, Guild List with Stats, Invite Info and more...

DiscordLookup Get more out of Discord with Discord Lookup! Snowflake Decoder, Guild List with Stats, Invite Info and more... Website Getting Help Tool

Comments
  • build(deps): bump react/http from 1.5.0 to 1.7.0

    build(deps): bump react/http from 1.5.0 to 1.7.0

    Bumps react/http from 1.5.0 to 1.7.0.

    Release notes

    Sourced from react/http's releases.

    v1.7.0

    This is a SECURITY and feature release for the 1.x series of ReactPHP's HTTP component.

    • Security fix: This release fixes a medium severity security issue in ReactPHP's HTTP server component that affects all versions between v0.7.0 and v1.6.0. All users are encouraged to upgrade immediately. Special thanks to Marco Squarcina (TU Wien) for reporting this and working with us to coordinate this release. (CVE-2022-36032 reported by @​lavish and fixed by @​clue)

    • Feature: Improve HTTP server performance by ~20%, reuse syscall values for clock time and socket addresses. (#457 and #467 by @​clue)

    • Feature: Full PHP 8.2+ compatibility, refactor internal Transaction to avoid assigning dynamic properties. (#459 by @​clue and #466 by @​WyriHaximus)

    • Feature / Fix: Allow explicit Content-Length response header on HEAD requests. (#444 by @​mrsimonbennett)

    • Minor documentation improvements. (#452 by @​clue, #458 by @​nhedger, #448 by @​jorrit and #446 by @​SimonFrings)

    • Improve test suite, update to use new reactphp/async package instead of clue/reactphp-block, skip memory tests when lowering memory limit fails and fix legacy HHVM build. (#464 and #440 by @​clue and #450 by @​SimonFrings)

    v1.6.0

    • Feature: Add factory methods for common HTML/JSON/plaintext/XML response types. (#439 by @​clue)

      $response = React\Http\Response\html("<h1>Hello wörld!</h1>\n");
      $response = React\Http\Response\json(['message' => 'Hello wörld!']);
      $response = React\Http\Response\plaintext("Hello wörld!\n");
      $response = React\Http\Response\xml("<message>Hello wörld!</message>\n");
      
    • Feature: Expose all status code constants via Response class. (#432 by @​clue)

      $response = new React\Http\Message\Response(
          React\Http\Message\Response::STATUS_OK, // 200 OK
          …
      );
      $response = new React\Http\Message\Response(
          React\Http\Message\Response::STATUS_NOT_FOUND, // 404 Not Found
          …
      );
      
    • Feature: Full support for PHP 8.1 release.

    ... (truncated)

    Changelog

    Sourced from react/http's changelog.

    1.7.0 (2022-08-23)

    This is a SECURITY and feature release for the 1.x series of ReactPHP's HTTP component.

    • Security fix: This release fixes a medium severity security issue in ReactPHP's HTTP server component that affects all versions between v0.7.0 and v1.6.0. All users are encouraged to upgrade immediately. Special thanks to Marco Squarcina (TU Wien) for reporting this and working with us to coordinate this release. (CVE-2022-36032 reported by @​lavish and fixed by @​clue)

    • Feature: Improve HTTP server performance by ~20%, reuse syscall values for clock time and socket addresses. (#457 and #467 by @​clue)

    • Feature: Full PHP 8.2+ compatibility, refactor internal Transaction to avoid assigning dynamic properties. (#459 by @​clue and #466 by @​WyriHaximus)

    • Feature / Fix: Allow explicit Content-Length response header on HEAD requests. (#444 by @​mrsimonbennett)

    • Minor documentation improvements. (#452 by @​clue, #458 by @​nhedger, #448 by @​jorrit and #446 by @​SimonFrings

    • Improve test suite, update to use new reactphp/async package instead of clue/reactphp-block, skip memory tests when lowering memory limit fails and fix legacy HHVM build. (#464 and #440 by @​clue and #450 by @​SimonFrings)

    1.6.0 (2022-02-03)

    • Feature: Add factory methods for common HTML/JSON/plaintext/XML response types. (#439 by @​clue)

      $response = React\Http\Response\html("<h1>Hello wörld!</h1>\n");
      $response = React\Http\Response\json(['message' => 'Hello wörld!']);
      $response = React\Http\Response\plaintext("Hello wörld!\n");
      $response = React\Http\Response\xml("<message>Hello wörld!</message>\n");
      
    • Feature: Expose all status code constants via Response class. (#432 by @​clue)

      $response = new React\Http\Message\Response(
          React\Http\Message\Response::STATUS_OK, // 200 OK
          …
      );
      $response = new React\Http\Message\Response(
          React\Http\Message\Response::STATUS_NOT_FOUND, // 404 Not Found
          …
      );
      

    ... (truncated)

    Commits
    • 4a1e853 Prepare v1.7.0 release
    • 5f3b58c Merge pull request #466 from WyriHaximus-labs/1.x-test-on-php-8.2
    • 57b259e Merge pull request from GHSA-w3w9-vrf5-8mx8
    • f0b4859 Test on PHP 8.2
    • 00e481e Merge pull request #467 from clue-labs/reuse-address
    • d92e564 Improve performance, reuse server params for same connection
    • 663c9a3 Do not decode cookie names anymore
    • b5a66a4 Merge pull request #464 from clue-labs/async
    • 9946ba7 Update to use new reactphp/async package instead of clue/reactphp-block
    • a2ae0f1 Avoid using deprecated functions from clue/reactphp-block
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Owner
Fuck FlyOS Call Me: +1 (616) 799-7429
null
EBook-Apps - The eBook Apps is a web application that helps you browse ebooks from anywhere using your smartphone and laptop.

⚡️ eBook Apps The eBook Apps is a web application that helps you browse ebooks from anywhere using your smartphone and laptop. ?? Getting Started To s

Ahmad Fauzy 32 Nov 14, 2022
Magento sample data includes a sample store, complete with more than 250 products

Magento sample data includes a sample store, complete with more than 250 products (about 200 of them are configurable products), categories, promotional price rules, CMS pages, banners, and so on. Sample data uses the Luma theme on the storefront.

Magento 203 Dec 16, 2022
Ratio plugin is a luck plugin. The more lucky you are, the more you win!

Ratio Ratio plugin is a luck plugin. The more lucky you are, the more you win Features When you break a block (Cobblestone), it gives/puts you somethi

Ali Tura Çetin 2 Apr 25, 2022
Integrate reCAPTCHA using async HTTP/2, making your app fast with a few lines.

ReCaptcha Integrate reCAPTCHA using async HTTP/2, making your app fast with a few lines. use Illuminate\Support\Facades\Route; Route::post('login', f

Laragear 14 Dec 6, 2022
A research raw data repository for researchers of Arba Minch University built using Codeigniter which follows MVC architecture. The front-end is build using Bootstrap.

Arba Minch University Dataset Repository This system is a research dataset repository for Arba Minch University researchers and is build using Codeign

Wuletaw Wonte 8 Jul 1, 2022
PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP language

php-text-analysis PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP l

null 464 Dec 28, 2022
This tools helps you with Collectors in DependecyInjection, Console shortcuts, ParameterProvider as service and many more.

Package Builder This tools helps you with Collectors in DependecyInjection, Console shortcuts, ParameterProvider as service and many more. Install com

null 168 Dec 22, 2022