Live data from Hacker News

Show HN: Cicada – A scripting language that integrates with C

github.com

21–30 of 41 posts

Re: Show HN: Cicada – A scripting language that integrates with C

#22
post #2

Cool, I like these kinds of projects. When it comes to embedding a scripting language in C, there are already some excellent options: Notable ones are Janet, Guile, and Lua. Tcl is also worth considering. My personal favorite is still Janet[0]. Others? [0]: https://janet-lang.org/

Io is nice (Smalltalk/Self-like). A mostly comprehensive list: https://dbohdan.github.io/embedded-scripting-languages/

That list (or any similar list) would be so helpful if it had a health column, something that takes into account number of contributors, time since last commit, number of forks, number of commits, etc. So many projects are effectively dead but it's not obvious at first sight, and it takes 2 or 3 whole minutes to figure out. That seems short but it adds up when evaluating a project, causing people to just go to a well known solution like Lua (and why not? Lua is just fine; in fact it's great).

Re: Show HN: Cicada – A scripting language that integrates with C

#23

> Uses aliases not pointers, so it's memory-safe How does it deal with use after free? How does it deal with data races? Memory safety can't be solved by just eliminating pointer arithmetic, there's more stuff needed to achieve it

There’s no multithreading so race conditions don’t apply. That simplifies things quite a bit.

There’s actually no ‘free’, but in the (member -> variable data) ontology of Cicada there are indeed a few ways memory can become disused: 1) members can be removed; 2) members can be re-aliased; 3) arrays or lists can be resized. In those conditions the automated/manual collection routines will remove the disused memory, and in no case is there any dangling ‘pointer’ (member or alias) pointing to unallocated memory. Does this answer your question?

I agree that my earlier statement wasn’t quite a complete explanation.

Of course, since it interfaces with C, it’s easy to overwrite memory in the callback functions.

Re: Show HN: Cicada – A scripting language that integrates with C

#26
post #2

Cool, I like these kinds of projects. When it comes to embedding a scripting language in C, there are already some excellent options: Notable ones are Janet, Guile, and Lua. Tcl is also worth considering. My personal favorite is still Janet[0]. Others? [0]: https://janet-lang.org/

AngelScript. Matured & maintained since 2003, is fully typed and with C syntax. https://www.angelcode.com/angelscript/

Re: Show HN: Cicada – A scripting language that integrates with C

#27
post #2

Cool, I like these kinds of projects. When it comes to embedding a scripting language in C, there are already some excellent options: Notable ones are Janet, Guile, and Lua. Tcl is also worth considering. My personal favorite is still Janet[0]. Others? [0]: https://janet-lang.org/

squirrel: http://squirrel-lang.org/

Re: Show HN: Cicada – A scripting language that integrates with C

#28
post #27
post #2

Cool, I like these kinds of projects. When it comes to embedding a scripting language in C, there are already some excellent options: Notable ones are Janet, Guile, and Lua. Tcl is also worth considering. My personal favorite is still Janet[0]. Others? [0]: https://janet-lang.org/

squirrel: http://squirrel-lang.org/

Yes I like this one. It’s similar and even more C-like, in that it discriminates between classes, class instances, functions, methods vs constructors, etc. (Cicada does not).

Re: Show HN: Cicada – A scripting language that integrates with C

#29
post #26
post #2

Cool, I like these kinds of projects. When it comes to embedding a scripting language in C, there are already some excellent options: Notable ones are Janet, Guile, and Lua. Tcl is also worth considering. My personal favorite is still Janet[0]. Others? [0]: https://janet-lang.org/

AngelScript. Matured & maintained since 2003, is fully typed and with C syntax. https://www.angelcode.com/angelscript/

Yes very C-like.. One immediate difference is that in these C-like scripting languages there’s a split between definitions and executable commands. In Cicada there are only executable commands: definitions are done using a define operator. (That’s because everything is on the heap; Cicada functions don’t have access to the stack). I personally think the latter method makes more sense for command-line interactivity, but that’s a matter of taste.

Re: Show HN: Cicada – A scripting language that integrates with C

#30

Earlier quoted context omitted.

Io is nice (Smalltalk/Self-like). A mostly comprehensive list: https://dbohdan.github.io/embedded-scripting-languages/

That list (or any similar list) would be so helpful if it had a health column, something that takes into account number of contributors, time since last commit, number of forks, number of commits, etc. So many projects are effectively dead but it's not obvious at first sight, and it takes 2 or 3 whole minutes to figure out. That seems short but it adds up when evaluating a project, causing people to just go to a well…

Seconded.
Post reply on HN