lbstanza still active?
Eric Toombs
Oh, definitely. I haven't used my pocket calculator in years since I realised I could do all my maths about 10x more quickly and more effectively in the python repl.
|
|
Thanks for the kind words! I'm very excited to have the time to dedicate to Stanza as well. The REPL is something that I have been looking forward to for a long time, and I think it will substantially improve Stanza's productivity. Patrick |
|
Good to know. Thanks. I am glad to know lbstanza is still being worked on. Modern software increasingly requires code that above all else is correct. I'm not entirely sold on rust or kotlin in this. Python was an improvement upon C, C++, and Java, but it does not handle the weight of large code bases gracefully, and it's slow as all hell under many circumstances. Haskell and Erlang are also improvements, but both are missing key human usability features that python, for instance, has, like named optional arguments. Javascript is a nightmare that would be a joke if it wasn't for its incredible drain on the community's resources and the accompanying posse of fanboys, convinced that javascript is the future, man! I really think more research like yours into better programming languages is needed. Oh and congrats on completing the PhD.
|
|
Hi Eric. We've finished the design of the optional function arguments, but haven't yet implemented it. It's scheduled to be implemented together with some other type system and frontend improvements. The referential transparency hints have been put on the back burner until more pressings things are implemented. Patrick |
|
Did named optional function arguments ever get implemented? And have you thought any more about referential transparency hints? (SeeĀ https://github.com/StanzaOrg/lbstanza/issues/43.)
|
|
Hi Shaiful, I looked through your slides, and they look very interesting! Jonathan and I learned a lot of lessons from our work on Chisel and FIRRTL, and we brought a lot of the same techniques over to Stanza and JITX. To answer your questions: 1) Stanza has an extremely powerful macro system which allows us to design a sophisticated seamless DSL focused on circuit board design. One of the problems we had writing Chisel was that we were limited by Scala's expressivity, and had trouble getting our system as seamless as we wanted. 2) In my opinion, the fundamental concept that makes CLOS such a great object system is generic functions, and Stanza's multimethod system provides the same expressivity and more. Because of Stanza's optional type system and function overloading, Stanza's multimethod system actually feels much more natural than CL's CLOS system, IMO. 3) Stanza's multimethod system supports standard OO design just fine. That was a design goal from the very start. One major difference is that we allow subtyping but deliberately do not allow subclassing. I.e. We have an equivalent for Java's "implements" keyword, but no equivalent for the "extends" keyword. 4) The REPL will have a built-in procedure for updating existing instances when the 'class' definition changes, however we will not allow users to hook into this procedure the same way that CLOS does. Our current focus is on making the REPL a very useful development tool, but not so much a persistent always-on system like Lisp. Cheers, Patrick |
|
sjh@...
Hi Patrick,
Congrats on completing your PhD and the new startup venture! Is really good to know that Stanza is still actively being developed. I'm also very much interested in using Stanza on hardware programming and design automation, and also currently evaluating D language for this kind of functionality: https://dconf.org/2017/talks/marques.html A few questions regarding this matter and others: 1) Just wondering is there any particular reason(s) why Stanza is highly suitable for this kind of exercise (hardware design) ? 2) Does Stanza supports Lisp style CLOS object? 3) Does Stanza supports the classic OO design with class? Another question is regarding the REPL work in progress: 4) Does the REPL will include the venerable UPDATE-INSTANCE-FOR-REDEFINED-CLASS function as supported in the original Lisp? Regards, Shaiful |
|
Yves Cloutier
Patrick, congratulations on all of these points! All great and exciting news!
Keep us posted! |
|
Hi Yves, Yes, actually Stanza is very much active! Though things have been hectic, and I haven't been good about updates. I am planning to make a news post, but here are the highlights:
Thanks for the interest, Patrick |
|
Yves Cloutier
Hi, just checking in to see if lbstanza is still active?
I check back once in a while but haven't seen anything in the news or the forum in a while. |
|