Title
#share-your-work
s

Shakthi

09/27/2021, 4:42 AM
Hi Every one, I am working on an interactive programming language named Flourish, which aims to be programmable only in run time. The only available programming style being exploratory programming, I believe it implicitly forces TDD. Even the concept of dependency injection is somewhat inclusive of language design.https://github.com/FlourishLang/flourish1.5 Please give your thoughts.
❤️ 3
4:44 AM
Thanks to @Kartik Agaram for much-needed motivation.
❤️ 1
Kartik Agaram

Kartik Agaram

09/27/2021, 6:31 PM
I like it. Perhaps a conditional that's not taken shouldn't show any results for the statements under it? (I'm basically channeling the binary search example in

https://www.youtube.com/watch?v=PUv66718DII

)
6:32 PM
I'm curious what would happen if you removed the prints in your screencast. The results would still show on the right?
s

Shakthi

09/28/2021, 6:40 PM
"Perhaps a conditional that's not taken shouldn't show any results for the statements under it?" Yes. It won't show the results. The highlighted portion of the stale result corresponding to a previous state (when the condition was evaluated to false). On a separate note, in the above screenshot, you cant change lines 10-11(grayed out) as long as the condition at line 9 is false! You can only edit executing pieces of code. This design decision was taken to prevent ANY mental simulation while coding.
6:49 PM
"I'm curious what would happen if you removed the prints in your screencast. The results would still show on the right?" Currently, it will result in an error. For now, the language faithfully follows imperative syntax to keep things simple.
6:51 PM
"binary search example" This product is awesome.
👍 1
shalabh

shalabh

09/29/2021, 6:10 AM
You can only edit executing pieces of code. This design decision was taken to prevent ANY mental simulation while coding.
Bold and intriguing idea - can't modify dead code - I kinda like it. I'm usually very strongly in favor of avoiding mental simulation, but even I'm not sure if this goes too far 😂 I can see how this enforces TDD. What if you call the same function twice? Which of the two values will be displayed? Your mention of dependency injection reminded me of the Newspeak language - have you looked at that?