Parrot 7.9.0 "Sangihe hanging parrot" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Fridays 13:30 UTC
Set by moderator on 1 February 2017.
01:12 marat joined
marat Reading over the docs . . . can't find mk_language_shell.pl 01:14
03:11 stryx` joined 06:13 stryx` joined 13:04 stryx` joined 14:58 jsut_ left 14:59 davidfetter joined 16:38 marat joined
marat Reading through the docs . . . and I can't find mk_language_shell.pl 16:39
16:57 ns1 joined
marat Nevermind. Found it. Not sure what my problem was. ;) 16:58
ns1 What is the future of Parrot now, with Moar 17:03
Winxed, i suppose 17:04
marat What?! Just when I need a vm for a mini-language? 17:06
ns1 yes parrot, is still useful, i am sure 17:11
marat It seems very mature and well-documented, actually. Though interpreters/compilers are never going to be easy to write. 17:12
ns1 good documentation is important 17:13
are you writing your own language with Parrot 17:14
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:15
Lots of great stuff for kids. 17:16
But I've never written a language, and I'm probably way in over my head here.
ns1 I have not written my own language yet, But, I have investigated it, using something called pushdown automata 17:20
a cloning pushdown automata, is very simple, but covers a large number of grammars 17:21
Im reading about PGE right now 17:25
marat Have you found any good resources about writing interpreters? 17:28
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.
ns1 Yes 17:32
marat I want a language that isn't "expressive." One way to do everything. 17:33
It would be annoying for practical use, but a gem for learners.
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)
ns1 This is because bison uses LALR, which is fast but not very powerful
they abandoned LALR in GCC due to the problems with parsing C++ 17:35
marat There's also ANTLR.
ns1 Yes there is that 17:36
davidfetter if you want to do parser combinators, there's Hammer
github.com/UpstandingHackers/hammer
ns1 I hae heard some parsers will use LALR for simple grammers and switch to a more complex system when needed
i mean a more powerful parser
davidfetter "switch to a more complex system when needed" sounds like a langsec attack waiting to happen :/ 17:37
langsec.org/
marat haha
davidfetter cf "shotgun parser"
have you checked out logo? 17:38
marat Yes.
davidfetter scratch? 17:39
purl scratch is scratch.mit.edu a drag-and-drop programming environment for kids
davidfetter purl++
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).
ns1 Marpa is an earley based parser written for Perl
davidfetter scratch is full-blown 17:41
minecraft is Turing complete :)
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
marat Languages like Ruby and Python are great, but they take shortcuts that are meant to make life easier for pros.
davidfetter haskell?
purl well, haskell is a purely functional language that can be read about at 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)
marat I've made several failed attempts to learn Haskell. :) 17:42
davidfetter kids might have an easier time than you did
marat probably!
davidfetter fewer preconceptions to shove aside
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:44
davidfetter i'm missing the connection 17:45
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
monads
monoids
marat I doubt my program would allow it, actually.
monads left me breathlessly confused. 17:47
davidfetter i suspect that kids would understand category theory well enough to get monads
again, it's a matter of not having preconceptions that get in the way 17:48
marat yeah
ns1 monads confusd me too
marat So, davidfetter, what's the status of parrot? 17:49
davidfetter ENOCLUE 17:50
i was briefly involved in a project to do PostgreSQL integration some years back
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
marat Bison has the advantage of being very well documented. 17:51
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?
ns1 i read about them but cannot say i fully understand them 17:56
davidfetter this is true of literally any topic :P 17:58
ns1 yes 19:01
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. 19:04