> meeting is Thursday the 22nd. Is that right, and are we back at the
> OTBC or elsewhere?
OTBC is available if you'd like to meet here.
Yes, let's meet on Thursday the 22nd.
Can we get Wm to talk about Bertrand?
Phil
...well, maybe. I haven't looked at RHDL in about a year, though.
Phil
Wm's made a number of changes recently to the code, so you should use
his ZIP rather than my now-outdated Git repository.
/me adds Wm to TO: of message in hopes of getting his attention
-igal
What about Bertrand as an embedded DSL within another language like
OCaml or Haskell? then you'd get those things pretty much for free.
You can add syntax to OCaml, for example, using campl4 (Caml's
pre-processor that lets you manipulate the AST for a program and add
syntax). That might be an interesting way to go.
Phil
I don't know camlp4. Do you have a pointer to a good quick introduction?
It would be very good to embed Bertrand in some other language, but it
would need to be the right language.
--wm
Off the top of my head:
1) It should be very good at manipulating tree structures efficiently.
Most of what Bertrand does is match a pattern expression against a
subject expression, and replace it with a body expression. Over and
over again.
2) It should be able to define new functions at run-time and evaluate
them.
3) It would be nice if it could deal with infix notation expressions.
4) It should have some built-in graphics.
5) It should run on lots of platforms, and be widely available.
I'm sure there are other things too.
--wm
Present Bertrand at WestsideProggers on Jan 22nd, and then spend a night
demoing/hacking on OCaml integration at pdxfunc on Feb 9th?
-igal
>>
>> What do you think would be the characteristics of the 'right'
>> language?
>>
>> Phil
>
> Off the top of my head:
>
> 1) It should be very good at manipulating tree structures efficiently.
> Most of what Bertrand does is match a pattern expression against a
> subject expression, and replace it with a body expression. Over and
> over again.
Both Haskell and OCaml are great for tree manipulation.
>
> 2) It should be able to define new functions at run-time and evaluate
> them.
>
...that's a bit tougher. Neither is a very dynamic language. Could
you generate expression trees that then get evaluated within a
context?
> 3) It would be nice if it could deal with infix notation expressions.
>
Should work.
> 4) It should have some built-in graphics.
>
They've each got bindings to graphics libs.
> 5) It should run on lots of platforms, and be widely available.
All the important platforms are covered (not sure about Windows, though ;-)
Phil
>If there is interest, I would need advice on how to make it available
>on an open-source basis.
I know a thing or two about the CPAN ;-)
It sounds like an interesting language.
--Eric
--
[...proprietary software is better than gpl because...] "There is value
in having somebody you can write checks to, and they fix bugs."
--Mike McNamara (president of a commercial software company)
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------