The successor of Ni is 'Spry' https://github.com/gokr/spry http://sprylang.se/ "Spry borrows homoiconicity from Rebol and Lisp, free form syntax from Forth and Rebol, the word of different types from Rebol, good data structure literal support from JavaScript and the general coding experience and style from Smalltalk. It also has a few ideas of its own, like an interesting argument passing mechanism and a relatively novel take on OO." --Hannes On 10/17/18, Ben Coman <btc@openinworld.com> wrote:
Have you looked at Ni? (I only read about it) http://goran.krampe.se/2015/09/16/ni-a-strange-little-language/
cheers -ben
On Wed, 17 Oct 2018 at 03:45, Dimitris Chloupis <kilon.alios@gmail.com> wrote:
Thank you Thierry , that was exactly what i was looking for :)
On the subject of syntax, StrongTalk looks far more advanced compared to what I am aiming which is basically writting C code with Smalltalk like syntax. I am looking at this
Which describes some really impressive features. So I am aiming only for source to source compiler and not implementation of complex systems for incremental compilations , optional type system etc.
On parsing strange code that is not much of an issue cause the project I am working on has pretty reasonable code and will probably offer a way to inline c code in case the parser fail. In any case my goals are small , cause I dont have resources for complex implementations. Its also a language that will be designed solely for my needs and be offered open source for anyone else that may find it useful. In any case I am sure I will have many questions to ask :)
I was looking into ANTLR , since the book I am reading on language design is using ANTLR but I rather implement this in Pharo. I used SmaCC when I was working for my Python bridge and I really liked it , mostly because it offers ready made syntax definitions for most popular languages. Which makes my life a lot easier.
On Tue, Oct 16, 2018 at 9:45 PM Thierry Goubier <thierry.goubier@gmail.com> wrote:
Hi Dimitris,
Le 16/10/2018 à 19:39, Dimitris Chloupis a écrit :
yes i already said that i followed the instructions in the github repo
Yes, by default that installation of SmaCC does not load all parsers (some of them are fairly large). However, most of them are in the downloaded repository, so you can load them independently.
Otherwise, loading that way, should load everything:
Metacello new baseline: 'SmaCC'; repository: 'github://SmaCCRefactoring/SmaCC'; load: #('Tools' 'Examples' 'Examples-Extra')
Regarding your language question, I'd suggest two things:
- Look at StrongTalk for a way to write Smalltalk with type declarations...
- C parsers able to parse most strange C code one may encounter takes some work...
Regards,
Thierry
On Tue, Oct 16, 2018 at 8:18 PM H. Hirzel <hannes.hirzel@gmail.com <mailto:hannes.hirzel@gmail.com>> wrote:
Refers to https://github.com/SmaCCRefactoring/SmaCC
which says
This is the port for Smalltalk/Pharo 1.3, 2, 3, 4, 5 and 6.
Installing a Development version of Pharo for the latest Pharo (with no guarantees):
Metacello new baseline: 'SmaCC'; repository: 'github://SmaCCRefactoring/SmaCC'; load
On 10/16/18, H. Hirzel <hannes.hirzel@gmail.com <mailto:hannes.hirzel@gmail.com>> wrote: > What about trying > > > Metacello new > baseline: 'SmaCC'; > repository: 'github://ThierryGoubier/SmaCC'; > load > > This worked in Pharo 6.1 in November 2017 > > On 10/16/18, Dimitris Chloupis <kilon.alios@gmail.com <mailto:kilon.alios@gmail.com>> wrote: >> thanks for the info Peter , will give it a try :) >> >> On Tue, Oct 16, 2018 at 7:35 PM PBKResearch <peter@pbkresearch.co.uk <mailto:peter@pbkresearch.co.uk>> >> wrote: >> >>> Dimitris >>> >>> >>> >>> If you download the latest Moose Suite 6.1, you will have Pharo 6.1 with >>> lots of extra packages, including SmaCC. The SmaCC includes compilers >>> for >>> C, Smalltalk and Java, among others, but with little or no >>> documentation. >>> I >>> am not a SmaCC expert, so I canât say whether it will do what you want, >>> but >>> at least it will give you a start. Moose also includes PetitParser and >>> PP2,if you want to try other parsing approaches. Of course, the Windows >>> version is 32-bit only, for reasons explained elsewhere in this thread. >>> >>> >>> >>> HTH >>> >>> >>> >>> Peter Kenny >>> >>> >>> >>> *From:* Pharo-users <pharo-users-bounces@lists.pharo.org <mailto:pharo-users-bounces@lists.pharo.org>> *On Behalf Of >>> *Dimitris >>> Chloupis >>> *Sent:* 16 October 2018 15:40 >>> *To:* Any question about pharo is welcome <pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>> >>> *Subject:* [Pharo-users] Installing SmaCC >>> >>> >>> >>> Hey guys >>> >>> >>> >>> I downloaded the latest Pharo 6.1 64bit for Windows and tried to install >>> SmaCC through the catalog browser but it failed >>> >>> >>> >>> I did manage to install it following the instruction in the github repo >>> but I see that I am missing most parser packages. >>> >>> >>> >>> The languages I am interested are Smalltalk (which is included) and C >>> (if >>> possible C++ too) cause I will be creating a new language which will be >>> a >>> cross between C and Smalltalk (very similar to smalltalk syntax but with >>> the addtion of C types and no GC and dynamic typing and also a partial >>> implementation of OOP that is quite diffirent). My goal is compilation >>> of >>> my language to readable C code so the ability to parse also existing C >>> code >>> is needed. >>> >>> >>> >>> Any help is greatly appreciated , thanks :) >>> >> >