alcinnz,
@alcinnz@floss.social avatar

Free idea for others to run with (I don't have the time): Visual functional programming!

Drag & drop "blocks" into "(pattern) -> (value) (fallback...)" definitions to define new blocks. Or provide intelligent autocomplete as an option.

That concept should be Turing Complete, & readily graspable (especially with a debugger). Programs written in it could be entirely self-contained.

Main challenge: Hooking up I/O people find meaningful.

I think it fits in @jos 's vision discussed yesterday.
1/2

nielsa,

@alcinnz Can you elaborate on what the advantage/point of such a programming language would be?

Does it essentially differ from historical visual programming languages that have largely failed to get significant adoption?

Who is the target audience?

Sorry if these questions sound critical. I did some academic work sort of adjacent to these kibds of things and these are the things I never had good answers to.

alcinnz,
@alcinnz@floss.social avatar

@nielsa Basically the concept I enjoy toying with is to find an alternate way to express the elegance I see in Haskell, but I fail to piece together a full vision.

I'm sure you know the prior art better than me, but what I'm trying to express the entirety of computation in a single intuitive construct. I haven't seen that in any of the prior art I've used.

@jos wanted a computing environment which made it easier to study & modify programs. I think he'd enjoy a chat!

vertigo,

@alcinnz @jos I know this isn't quite what you were thinking of, but you should look into a product called AmigaVision. It was multimedia oriented (so not "functional"), but I specifically call out its user interface as something which seems to be along the same lines as what you're envisioning.

Might be a source of ideas for you.

alcinnz,
@alcinnz@floss.social avatar

Hey @jos what would it take to get you to tackle this? Our movement is built by people seeing a need that needs filling & thanklessly pursuing it, afterall!

Unfortunately I'm overwhelmed chasing a different need to fill...

jos,

deleted_by_author

  • Loading...
  • alcinnz,
    @alcinnz@floss.social avatar

    @jos Glad to hear!

    If you need an advice, feel free to reach out! I'll let it be your project, however much I enjoy conceptually-toying with the concept of a JIT'd visual functional programming language.

    If you need funding, I've fund NLnet great to work with. Though you might want to have your vision fully sketched out before applying.

    natalie,
    alcinnz,
    @alcinnz@floss.social avatar

    @natalie Kind of, but that looks like the sort of "Scratch for functional programming" I'd want to avoid in my proposal.

    I wouldn't be interesting in mapping the Haskell syntax to Scratch blocks, when we could make this singular concept of a block the entire language. Every block which does more than store data would have an implementation in terms of itself or other blocks you can pull up.

    @jos

    ajroach42,
    @ajroach42@retro.social avatar

    @alcinnz @jos so scratch for functional programming?

    alcinnz,
    @alcinnz@floss.social avatar

    @ajroach42 Basically, yes!

    But the thing I like about this concept is we wouldn't need to map, say, the Haskell syntax to Scratch blocks. We could make this concept of a block the entire programming language!

    @jos

    shapr,
    alcinnz,
    @alcinnz@floss.social avatar

    @shapr No,I haven't. I'll make sure to read it!

    @ajroach42 @jos

    alcinnz,
    @alcinnz@floss.social avatar

    Basic I/O could be performed by returning functions asking for additional input.

    Numbers could be implemented using Church notation, that is as either 1 or a number + 1. Though the interpreter/compiler would want to recognize this construct as a slow bottleneck & optimize it away.

    With care, any localization can be constrained to optional libraries. Search those APIs by type?

    A JIT could make the language fast.

    Total Functional Programming can warn about potential freezes.

    2/2 Fin!

    alcinnz, (edited )
    @alcinnz@floss.social avatar

    Should I discuss how I'd JIT such a visual functional programming language starting tomorrow?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • ethstaker
  • DreamBathrooms
  • cubers
  • mdbf
  • everett
  • magazineikmin
  • Durango
  • Youngstown
  • rosin
  • slotface
  • modclub
  • kavyap
  • GTA5RPClips
  • ngwrru68w68
  • JUstTest
  • thenastyranch
  • cisconetworking
  • khanakhh
  • osvaldo12
  • InstantRegret
  • Leos
  • tester
  • tacticalgear
  • normalnudes
  • provamag3
  • anitta
  • megavids
  • lostlight
  • All magazines