Perl 6 - the future is here, just unevenly distributed

IRC log for #parrot, 2017-04-04

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:12 marat joined #parrot
01:14 marat Reading over the docs . . . can't find mk_language_shell.pl
03:11 stryx` joined #parrot
06:13 stryx` joined #parrot
13:04 stryx` joined #parrot
14:58 jsut_ left #parrot
14:59 davidfetter joined #parrot
16:38 marat joined #parrot
16:39 marat Reading through the docs . . . and I can't find mk_language_shell.pl
16:57 ns1 joined #parrot
16:58 marat Nevermind.  Found it.  Not sure what my problem was. ;)
17:03 ns1 What is the future of Parrot now, with Moar
17:04 ns1 Winxed, i suppose
17:06 marat What?!  Just when I need a vm for a mini-language?
17:11 ns1 yes parrot, is still useful, i am sure
17:12 marat It seems very mature and well-documented, actually.  Though interpreters/compilers are never going to be easy to write.
17:13 ns1 good documentation is important
17:14 ns1 are you writing your own language with Parrot
17:15 marat Oh, I'm just testing the waters.  I've been teaching programming (in Ruby) for about 16 years, and I'm frustrated with existing languages for teaching adults to program.
17:16 marat Lots of great stuff for kids.
17:16 marat But I've never written a language, and I'm probably way in over my head here.
17:20 ns1 I have not written my own language yet, But, I have investigated it, using something called pushdown automata
17:21 ns1 a cloning pushdown automata, is very simple, but covers a large number of grammars
17:25 ns1 Im reading about PGE right now
17:28 marat Have you found any good resources about writing interpreters?
17:31 ns1 I have not, but its not as hard as writing a parser
17:31 marat I'm thinking of using flex/bison to write a translator into Javascript or something like that.
17:32 ns1 Yes
17:33 marat I want a language that isn't "expressive."  One way to do everything.
17:33 marat It would be annoying for practical use, but a gem for learners.
17:34 ns1 What I have heard about flex and bison is they are not very powerful as far as the range of languages that they can parse. Marpa may be more powerful. The way flex and bison are, if one is parsing a very complex language, bison an flex can make things harder
17:34 marat Marpa! (googling)
17:34 ns1 This is because bison uses LALR, which is fast but not very powerful
17:35 ns1 they abandoned LALR in GCC due to the problems with parsing C++
17:35 marat There's also ANTLR.
17:36 ns1 Yes there is that
17:36 davidfetter if you want to do parser combinators, there's Hammer
17:36 davidfetter https://github.com/UpstandingHackers/hammer
17:36 ns1 I hae heard some parsers will use LALR for simple grammers and switch to a more complex system when needed
17:36 ns1 i mean a more powerful parser
17:37 davidfetter "switch to a more complex system when needed" sounds like a langsec attack waiting to happen :/
17:37 davidfetter http://langsec.org/
17:37 marat haha
17:37 davidfetter cf "shotgun parser"
17:38 davidfetter have you checked out logo?
17:38 marat Yes.
17:39 davidfetter scratch?
17:39 purl scratch is http://scratch.mit.edu a drag-and-drop programming environment for kids
17:39 davidfetter purl++
17:40 davidfetter are you looking for a kid-appropriate language, or looking to build a kid-appropriate language?
17:40 marat I want something more like Pascal -- not the language itself, but the use-case (teaching programming to adults who, nowadays, are going to move on to Java, C, or one of the full-blown scripting languages).
17:40 ns1 Marpa is an earley based parser written for Perl
17:41 davidfetter scratch is full-blown
17:41 davidfetter minecraft is Turing complete :)
17:41 ns1 what i said about Bison may be out of date since it can do GLR and parse a larger class of languages than LALR
17:41 marat Languages like Ruby and Python are great, but they take shortcuts that are meant to make life easier for pros.
17:41 davidfetter haskell?
17:41 purl well, haskell is a purely functional language that can be read about at http://haskell.org or a very different kind of language from Python :) or scary. or the language pugs is developed in or the new japanese or the higher order language of choice for the discerning Perl hacker or smarter than rjbs or Wally's smartass friend. or itself a rain of frogs or (see also: Hastur)
17:42 marat I've made several failed attempts to learn Haskell. :)
17:42 davidfetter kids might have an easier time than you did
17:42 marat probably!
17:42 davidfetter fewer preconceptions to shove aside
17:44 marat In a perfect world, I'd teach them scheme or common lisp, but the impedence mismatch between those and the ALGOL-style languages they'll learn next is too great (I think).
17:45 davidfetter i'm missing the connection
17:46 ns1 i couldnt figure out how a purely functional languge can handle input output interactively and still be PFL, i must be missing something
17:46 davidfetter if they learn common lisp, they can go pretty far
17:46 davidfetter monads
17:46 davidfetter monoids
17:46 marat I doubt my program would allow it, actually.
17:47 marat monads left me breathlessly confused.
17:47 davidfetter i suspect that kids would understand category theory well enough to get monads
17:48 davidfetter again, it's a matter of not having preconceptions that get in the way
17:48 marat yeah
17:48 ns1 monads confusd me too
17:49 marat So, davidfetter, what's the status of parrot?
17:50 davidfetter ENOCLUE
17:50 davidfetter i was briefly involved in a project to do PostgreSQL integration some years back
17:50 ns1 what i read about bison is it can parse any context free language which is a very broad class of languages, so what i said about it before is not true
17:51 marat Bison has the advantage of being very well documented.
17:52 marat But I have a lot to learn, here.  Still haven't read the dragon book, gathering other resources.
17:52 davidfetter ns1, do you recall a monad breakthrough in understanding?
17:56 ns1 i read about them but cannot say i fully understand them
17:58 davidfetter this is true of literally any topic :P
19:01 ns1 yes
19:04 ns1 SOme other parsing algorithms are CYK, DFA, PEG, Recursive Descent and Pushdown Automata, in addition to GLR, Earley, LALR+GLR. Choice is always a good thing.

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced