Purely Functional Scripting

Dev tools

scripting environment

SHOW HN2019

Purely Functional Scripting

Hi all, TopShell is a reactive scripting environment that I've been working on for a while.

github.com

#functional scripting#shell scripting#purely functional language#reactive notebook

131points
19comments
#348of 2,195 in 2019
Top 16%of 2019 by points

How HN took it

CuriousMostly questions and neutral comments

2 positive, 6 neutral or asking, 0 mixed, 1 critical, out of 9 comments about the project. Thread score +0.05.

Idea: 1 for, 1 againstDocs: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Clear code examples in the readme

    From 1 comment
    • TopShell looks very interesting, thank you for sharing! This is a problem domain which I've been thinking a lot about recently. I write tons of shell (bash) scripts. I hate bash…
      maddyboo on HN
  • Playground is a useful way to try the language

    From 1 comment
    • This looks great, and I'm eager for more! I was initially put off by going straight to the repo's declared homepage (the Playground) and just seeing two empty text areas. The…
      yoz on HN
  • Stream to stdin/stdout design idea would be useful

    From 1 comment
    • > TopShell can use such programs, but TopShell scripts can't currently become such programs. I'm still looking for the right way to do this - one way would be to have a `main :…
      maddyboo on HN

Objections

  • Bus factor of 1; project future uncertain

    From 1 comment
    • Thank you for the long and thoughtful comment. I think you bring up a lot of valid points, and I don't have complete answers to all of them yet, but I'll do my best to address…
      continuational on HN
  • Cannot yet use own editor; web interface only

    From 1 comment
    • TopShell looks very interesting, thank you for sharing! This is a problem domain which I've been thinking a lot about recently. I write tons of shell (bash) scripts. I hate bash…
      maddyboo on HN
  • Scripts cannot yet be run as standalone Unix-style programs

    From 1 comment
    • Thank you for the long and thoughtful comment. I think you bring up a lot of valid points, and I don't have complete answers to all of them yet, but I'll do my best to address…
      continuational on HN

Requests

  • Pre-fill the Playground with an example

    From 1 comment
    • This looks great, and I'm eager for more! I was initially put off by going straight to the repo's declared homepage (the Playground) and just seeing two empty text areas. The…
      yoz on HN
  • Document use with own editor or environment

    From 1 comment
    • TopShell looks very interesting, thank you for sharing! This is a problem domain which I've been thinking a lot about recently. I write tons of shell (bash) scripts. I hate bash…
      maddyboo on HN
  • Condense philosophy from wiki into the README

    From 1 comment
    • TopShell looks very interesting, thank you for sharing! This is a problem domain which I've been thinking a lot about recently. I write tons of shell (bash) scripts. I hate bash…
      maddyboo on HN

Questions

  • How does it fit the Unix philosophy and piping?

    From 2 comments
    • TopShell looks very interesting, thank you for sharing! This is a problem domain which I've been thinking a lot about recently. I write tons of shell (bash) scripts. I hate bash…
      maddyboo on HN
    • to OP: How long have you been working on it? What was the biggest challenge you ran into when working on it? How does piping work? Can you split and join the streams?
      iamwil on HN
  • Why Scala instead of Haskell or PureScript?

    From 1 comment
    • Seeing how closely TopShell resembles Haskell I am curious why you chose to implement it in Scala rather than Haskell or Purescript.
      spleeder on HN
  • How are network requests pure?

    From 1 comment
    • The first example is a HTTP request, aren't network requests inherently unpure? as they rely on state outside of the program and could cause side effects...
      gitgud on HN
  • Why magic imports in a purely functional language?

    From 1 comment
    • Looks like Elm. Why did you add magic imports? It seems strange to go for purely functional behavior and then add magic side effects.
      lidHanteyk on HN

Alternatives named

  • bash/zsh

    From 1 comment
    • TopShell looks very interesting, thank you for sharing! This is a problem domain which I've been thinking a lot about recently. I write tons of shell (bash) scripts. I hate bash…
      maddyboo on HN
  • Groovy

    From 1 comment
    • > I've tried to use many other languages to fill the gap of writing scripts that start as quick one-offs but have the potential to evolve into a more refined piece of software…
      zmmmmm on HN
  • Elm

    From 1 comment
    • Looks like Elm. Why did you add magic imports? It seems strange to go for purely functional behavior and then add magic side effects.
      lidHanteyk on HN
  • Haskell and PureScript

    From 1 comment
    • Seeing how closely TopShell resembles Haskell I am curious why you chose to implement it in Scala rather than Haskell or Purescript.
      spleeder on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/20599230)