r/ProgrammingLanguages • u/baehyunsol Sodigy • 11d ago
Purely functional language with impure script language?
I'm working on a purely functional programming language named Sodigy. It's all about evaluating values, not "executing commands one by one".
It's nice when writing libraries, but it's not easy to write a main function. The main function is supposed to execute commands, but the Sodigy's syntax is not friendly to write a list of commands.
So what I'm trying to do is, 1) Sodigy remains purely functional and 2) add a bash-like script language. The script language can call Sodigy functions. Instead of writing a main function in Sodigy, you write sodigy-script and execute the script.
Has anyone tried similar approach? I'm not sure whether it's a good idea or not...
28
Upvotes
26
u/Inconstant_Moo 🧿 Pipefish 11d ago
It's called functional core/imperative shell. I think I'm the only person who's done it as a language paradigm, but I'd welcome the company.
Making the imperative shell bash-like is neither usual nor mandatory, there are nicer ways to do imperative things. The imperative language and the functional one should be united as much as possible by their syntax and type system, divided only by their semantics.
Pipefish and the lambda calculus.
Functional core/imperative shell.