As i see a lot of answer about their use of Bigloo, i will answer about also. Knowing bigloo for a long time, in the '90 when i was student, the teacher and inventor of bigloo talk us about the bigloo compiler in its compilation course, being a cross language compiler that "biggle" between Scheme and C language. A those time,C language was on the top as being the Unix and Linux system language. Since language have evolved and C is less important but Guile ,the Gnu Scheme compiler also support C mainly. Personally i try now to avoid to touch C developments as the C language is old but the gnu C compiler is still a central piece of code in the world of language. But i do not use Bigloo for is C support, i wanted to use HOP and finally used bigloo for it Java support. I wanted to use HOP as server and language but as being in an administrative structure that refuse to use something else than Apache and Tomcat servers i used Java to develops web application in Tomcat. But Java support in bigloo is old,almost no more updated. The main problem was the difference between java type and bigloo types and the development was first very long but again this year i update a code in bigloo for JVM and it was easy. After i swap to Kawa scheme that support Java, there was less difficulties with types, but some bugs make me feel a beta-tester, rapidly corrected by the developper i admit. I feel there was the same lack of community as bigloo, very few users to answer my questions. So i decide to use Clojure , development is faster as there is a lot of ressources, books, forum, questions and answer on stackoverflow.com. I cannot explain why there is a bigger community for clojure. Even Clojure / Leiningen is not easy to use, many times answers are outdated about Leiningen configuration and it has been harder to use ClojureSript (the Javascript version). About Bigloo having a better Java support would be better but i suppose it requires a large amount of work. I understand Bigloo is important for the HOP system. I think HOP is the future, that it can make web technology easy to use but i have not test it a lot. I think HOP should keep a Scheme version updated,not only a javascript (hop.js) one.Really i think HOP is incredible, because it is easy and fast to develop with and web technology are not easy at all,there are many things (JSON,AJAX etc....) HOP can solve all i think. About Bigloo as Scheme i would like to have the support of curly infix notation as in SRFI 105 https://srfi.schemers.org/srfi-105/srfi-105.html that a general problem with Scheme, the prefix notation makes beginners reluctant to learn it and i admit in some case it is really better and more natural to use infix notation which is the normal notation of mathematical expressions. I have teach Racket to students in L1 (Math-Info) and prefix notation is not natural in some math or physic expression and even in some test,it is not natural to write (> c t) instead {c > t} is natural (to read "c greater than t ? "), it really makes code more readable (example of Guile code in infix: https://github.com/damien-mattei/scheme4algo/blob/master/SssRec.scm#L50 ) Even Racket as a "bad" infix notation: https://docs.racket-lang.org/infix-manual/index.html which make code hard to read, Clojure also is not good in infix notation because they do not implement it in the reader but with macros. (example: https://github.com/damien-mattei/sidonie-admin2/blob/master/src/sidonie_admin2/sidonie-common.clj#L233 )
Finally i think that popularizing Bigloo is the same problem that popularizing Scheme , Lisp and functional programming, it is not only the work of center of research but also universities must not stopping to learn Scheme and functional programming to students. Instead they must include course not only about Scheme and functional programming but also the meeting of functional programming and web technologies as HOP do it. Scheme and HOP perheaps should be teach to student. If this is not done in the public universities others system such as Clojure which is far from perfect will take the place of Scheme. Damien On Sat, Jun 20, 2020 at 10:15 PM Julián Herrera <[email protected]> wrote: > I do view Bigloo as this interesting batteries-included take on Scheme > (much like Racket). I don't think being a non-scheme is a great, (and it > doesn't work, any scheme discussion make sense to include Racket) I would > love to see R7RS support in Bigloo (and much like guile, it could just be > syntactic-sugar around the Bigloo-way, since feature wise, it's very > similar). This doesn't preclude highlighting or including its unique > features. Make sense to me, to call things Scheme's or Scheme+'s. *Many > *schemes > fall into the latter category and it's often in this same space that they > differentiate themselves from one another in user-land, and create issues > moving from one scheme system to another. This isn't a unique issue with > bigloo and I like that prototyping things is super easy in bigloo because > it has everything. > > What I think would help popularizing Bigloo is: > > - A better website (new one looks nice and removes a lot of dead links > so this seems to be addressed) > - Updated docs (music player docs use the old API for example, I tried > running some java swing examples and couldn't get them to work) > > If the Racket-like approach is taken on the "branding" of Bigloo then I > think, Biglook or Java swing support should be improved and updated as UI > programming is the big battery missing compared to Racket. (Can't get > biglook working because I can't get GTK1.2 working) > > > Julian Herrera > ------------------------------ > *From:* [email protected] <[email protected]> on behalf of > Joseph Donaldson <[email protected]> > *Sent:* Friday, June 19, 2020 6:32 PM > *To:* Bigloo Mailing List <[email protected]> > *Subject:* [bigloo] How do you perceive Bigloo? > > Hello, All, > > How do you perceive Bigloo? Do you see it as just an implementation of > scheme or as its own language, albeit heavily based on/inspired by scheme? > I ask because, personally, I am increasingly seeing it as a separate > language and am wondering if it would be beneficial to promote it as such. > For example, although it is generally straight forward to port scheme code > to Bigloo, it often is sub-optimal without modification to properly support > Bigloo's module system, macros support (especially when used with > libraries), and type system. Additionally, some traditional scheme > features, such as call/cc, are inefficiently supported in Bigloo making > code relying on them impractical. Conversely, code targeting Bigloo in my > experience is difficult to move to other scheme systems unless it forfeits > all of the extensions (modules, type annotations, object systems, etc...) > that make Bigloo a practical language for my development needs. Further, by > claiming to be a scheme, Bigloo is often compared to other scheme > implementations in a manner which fails to highlight its strengths. For > example, https://ecraven.github.io/r7rs-benchmarks/ compares the > performance of a number of scheme implementations, and while Bigloo ranks > fairly well, I am confident that if the Bigloo versions of the benchmark > programs were written in a more idiomatic Bigloo style, leveraging type > annotations and eschewing call/cc, it would have an even better showing. > > So, would distancing Bigloo from scheme in a manner similar to what Racket > has done open opportunities for differentiating, growing, and popularizing > Bigloo? I am curious to hear your thoughts. > > Best Regards, > Joseph Donaldson >
