Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

autrijus (1505)

autrijus
  (email not shown publicly)
http://pugs.blogs.com/

Journal of autrijus (1505)

Saturday April 02, 2005
02:03 PM

Day 61: Sockets, threads, GHC 6.4!

[ #23987 ]
Too many things happened today and I'm too tired; I guess I'll fill in the blanks tomorrow and update this space. Just some short bullet points for now:
  • Pugs now require GHC 6.4, so we're finally out from the #ifdef hell.
  • Socket primitives are in: see HTTP server and client as examples. Corion is working on a LWP clone.
  • Thread primitives are in, too; the server example above uses the async {} constructor for threads, which works just like Perl 5's threads::async, except faster and more reliable.
  • mugwump triggered a source tree reorganization; the criteria for ext/ are now much more consistent and much cleaner, thanks to great suggestions by stevan, ingy and other people.
  • At my request, ingy the scribe has put Perl6::Bible to CPAN.
  • Pugs::MakeMaker is now renamed as Perl6::MakeMaker, and darren is now doing a real perl6 clone based on it.
  • We started to adopt GADTs, which has uncovered interesting optimization possibilities, and makes IMC generation much easier.
  • shapr implemented chr(), ord() and hex().
  • { block } in qq and rx was eating trailing whitespaces; fixed.
  • slurp($handle) and split(rx:perl5/.../, $string) now both works.
  • mugwump worked on the S29 draft to add OO methods for builting classes. He also began resummarizing Larry's p6l mail into the S28 draft.
  • We can now define and invoke subroutines in other namespaces by adding :: as part of its name.
  • ...lots of other developments; I'll fill in later, sorry...

Finally, let me add that acme is a Mad Ebugger (I want that for Pugs too!), obra's RESTish Bamboo rocks, and best wishes to ingy/gugod on getting FreePAN all up and tidy for tomorrow's Pugs release.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Pugs now require GHC 6.4, so we're finally out from the #ifdef hell.

    This was the last one in a sequence of events that got me to the point of being unable to build Pugs from this forth.

    It started with the recent development of compiling Parse.hs with GHC requring about 220 MB of memory that immediately put all my PCs at home out of business. My last chance was a Linux server at work, but it comes with GHC 6.2 and I have no chance to get the sysadmins upgrade it (it even was a huge win to at least conv

    • Please ask scw on IRC about the debian snapshots.

      Also, for your PCs, I have just committed a "make unoptimized" flag that should make it much happier. Let me know if it works or not. :)

      • For me at least, "make unoptimized" does not seem to impact the memory requirements of compiling Pugs (it still uses some 200 MB RAM every now and then), however, upgrading to ghc6-4 (as of Debian experimental) and to a more stable Linux kernel (from a highly experimental Con Kolivas patch set) definitely do: I can now compile Pugs at home. Thank you autrijus!

        p.s.: it appears that Parse.hs and Eval.hs (not sure about this) are the most demanding files, and as Pugs evolves, it will just get even worse. May

  • Hmm. The fink packages for OSX are up to only 6.2, so I guess that means I'll have to deinstall Pugs for a while now. :(
    --
    • Randal L. Schwartz
    • Stonehenge
  • Pugs::MakeMaker is now renamed as Perl6::MakeMaker, and darren is now doing a real perl6 clone based on it.

    For god's sake don't port MakeMaker into Perl 6. That is all.

    • (because Module::Build is a better solution. Port Module::Build instead).

      But listen to Schwern, since he maintains MakeMaker now /and/ advocates using M::B instead of it.