Nikhil,
I share your concerns, but I don't want to discourage Joe from
implementing new language extensions for use in his own code.
Look at it this way. There is very little syntax defined in core/. Now
extra/ has a lot of sundry language extensions, but you should be
aware that extra/ isn't really a "standard library". A lot of stuff
there is experimental, unfinished, or extremely specialized to a
specific problem domain.
Soon I will create a new vocabulary root basis/ which will contain the
parts of extra/ which are outside of the scope of core/, but
nevertheless considered essential for modern programming (UI, HTTP
server, database, XML, ...). One of my goals for basis/ is to minimize
the number of overlapping abstractions used and streamline the code as
much as possible.
So hopefully reading the code in basis/ will be easy because it will
only use the core abstractions plus a select few others (such as fry).
The code in extra/ will remain as wild as people make it.
Slava
On Thu, Jul 3, 2008 at 9:14 PM, Nikhil Marathe <[EMAIL PROTECTED]> wrote:
> I don't want to be a spoilsport, but I'm slowly beginning to think that
> Factor's syntax is growing too much and specialising a lot.
> It might aid quick typing, but it is too much to remember when reading
> someone else's code. Every time I'm looking through the standard library
> I find new syntaxes and it leaves me pretty disappointed that I can't really
> do *much* without knowing quite a lot of it.
>
> Do we really want another Perl?
>
> Note: I'm new to factor, and my comments probably mean nothing.
>
> Nikhil
>
> On Fri, Jul 4, 2008 at 7:30 AM, Joe Groff <[EMAIL PROTECTED]> wrote:
>>
>> { [ ] [ ] } is starting to become a common pattern, with the cleave,
>> spread, short-circuit, and other high-level combinators taking
>> sequences of quotations as arguments. I think it'd be nice to have a
>> shorthand notation for this common pattern. My idea is to use [[ ]] as
>> brackets around a quotation sequence, with ;; as a separator (inspired
>> by { } and ; in Haskell's do syntax). So this:
>>
>> --8<--
>> [[ drop [ cols>> ] [ rows>> ] bi* =
>> ;; nip [ rows>> ] bi@ =
>> ;; nipd [ cols>> ] bi@ =
>> ]] 3&&
>> --8<--
>>
>> would be equivalent to:
>>
>> --8<--
>> {
>> [ drop [ cols>> ] [ rows>> ] bi* = ]
>> [ nip [ rows>> ] bi@ = ]
>> [ nipd [ cols>> ] bi@ = ]
>> } 3&&
>> --8<--
>>
>> One could even go out on a limb and extend this pattern to arrays of
>> arrays or hash tables:
>>
>> --8<--
>> {{ 1 [ "One! a-ha-ha!" ]
>> ;; 2 [ "Two! a-ha-ha!" ]
>> }} case
>>
>> H{{ "US$" 1.0 ;; "EU€" 1.6 ;; "CA$" 1.1 }}
>> --8<--
>>
>> I'll implement these words in a separate vocab, but I want to make
>> sure this idea isn't totally insane before I go using it in any code.
>>
>> -Joe
>> -------------------------------------------------------------------------
>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>> Studies have shown that voting for your favorite open source project,
>> along with a healthy diet, reduces your potential for chronic lameness
>> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>> _______________________________________________
>> Factor-talk mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
>
> --
> Diogenes - "What I like to drink most is wine that belongs to others."
> -------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
> _______________________________________________
> Factor-talk mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk