Re: [fonc] When natural language fails!

2013-04-12 Thread GrrrWaaa
It doesn't reply forty-two? 

http://answers.yahoo.com/question/index?qid=20081019212355AAHkApl

On Apr 9, 2013, at 5:48 PM, Casey Ransberger wrote:

 It's tragic that Siri can't tell me what you get when you multiply six by 
 nine.

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] When natural language fails!

2013-04-12 Thread John Carlson
Base 13 folks.
On Apr 12, 2013 3:41 AM, GrrrWaaa grrrw...@gmail.com wrote:

 It doesn't reply forty-two?

 http://answers.yahoo.com/question/index?qid=20081019212355AAHkApl

 On Apr 9, 2013, at 5:48 PM, Casey Ransberger wrote:

  It's tragic that Siri can't tell me what you get when you multiply six
 by nine.

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] CodeSpells. Learn how to program Java by writing spells for a 3D environment.

2013-04-12 Thread John Carlson
http://www.jacobsschool.ucsd.edu/news/news_releases/release.sfe?id=1347
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Layering, Thinking and Computing

2013-04-12 Thread Tristan Slominski
I had this long response drafted criticizing Bloom/CALM and Lightweight
Time Warps, when I realized that we are probably again not aligned as to
which meta level we're discussing.

(my main criticism of Bloom/CALM was assumption of timesteps, which is an
indicator of a meta-framework relying on something else to implement it
within reality; and my criticism of Lightweight Time Warps had to do with
that it is a protocol for message-driven simulation, which also needs an
implementor that touches reality; synchronous reactive programming has
the word synchronous in it) - hence my assertion that this is more meta
level than actors.

I think you and I personally care about different things. I want a
computational model that is as close to how the Universe works as possible,
with a minimalistic set of constructs from which everything else can be
built. Hence my references to cellular automata and Wolfram's hobby of
searching for the Universe. Anything which starts as synchronous cannot
be minimalistic because that's not what we observe in the world, our world
is asynchronous, and if we disagree on this axiom, then so much for that :D

But actors model fails with regards to extensibility(*) and reasoning


Those are concerns of an imperator, are they not? Again, I'm not saying
you're wrong, I'm trying to highlight that our goals differ.

But, without invasive code changes or some other form of cheating (e.g.
 global reflection) it can be difficult to obtain the name of an actor that
 is part of an actor configuration.


Again, this is ignorance of the power of Object Capability and the Actor
Model itself. The above is forbidden in the actor model unless the
configuration explicitly sends you an address in the message. My earlier
comment about Akka refers to this same mistake.

However, you do bring up interesting meta-level reasoning complaints
against the actor model. I'm not trying to dismiss them away or anything.
As I mentioned before, that list is a good guide as to what meta-level
programmers care about when writing programs. It would be great if actors
could make it easier... and I'm probably starting to get lost here between
the meta-levels again :/

Which brings me to a question. Am I the only one that loses track of which
meta-level I'm reasoning or is this a common occurrence  Bringing it back
to the topic somewhat, how do people handle reasoning about all the
different layers (meta-levels) when thinking about computing?


On Wed, Apr 10, 2013 at 12:21 PM, David Barbour dmbarb...@gmail.com wrote:

 On Wed, Apr 10, 2013 at 5:35 AM, Tristan Slominski 
 tristan.slomin...@gmail.com wrote:

 I think it's more of a pessimism about other models. [..] My
 non-pessimism about actors is linked to Wolfram's cellular automata turing
 machine [..] overwhelming consideration across all those hints is
 unbounded scalability.


 I'm confused. Why would you be pessimistic about non-actor models when
 your argument is essentially that very simple, deterministic, non-actor
 models can be both Turing complete and address unbounded scalability?

 Hmm. Perhaps what you're really arguing is pessimistic about procedural
 - which today is the mainstream paradigm of choice. The imperial nature of
 procedures makes it difficult to compose or integrate them in any
 extensional or collaborative manner - imperative works best when there is
 exactly one imperator (emperor). I can agree with that pessimism.

 In practice, the limits of scalability are very often limits of reasoning
 (too hard to reason about the interactions, safety, security, consistency,
 progress, process control, partial failure) or limits of extensibility (to
 inject or integrate new behaviors with existing systems requires invasive
 changes that are inconvenient or unauthorized). If either of those limits
 exist, scaling will stall. E.g. pure functional programming fails to scale
 for extensibility reasons, even though it admits a lot of natural
 parallelism.

 Of course, scalable performance is sometimes the issue, especially in
 models that have global 'instantaneous' relationships (e.g. ad-hoc
 non-modular logic programming) or global maintenance issues (like garbage
 collection). Unbounded scalability requires a consideration for locality of
 computation, and that it takes time for information to propagate.

 Actors model is one (of many) models that provides some of the
 considerations necessary for unbounded performance scalability. But actors
 model fails with regards to extensibility(*) and reasoning. So do most of
 the other models you mention - e.g. cellular automatons are even less
 extensible than actors (cells only talk to a fixed set of immediate
 neighbors), though one can address that with a notion of visitors (mobile
 agents).

 From what you say, I get the impression that you aren't very aware of
 other models that might compete with actors, that attempt to address not
 only unbounded performance scalability but some of the other limiting
 

Re: [fonc] CodeSpells. Learn how to program Java by writing spells for a 3D environment.

2013-04-12 Thread David Barbour
Neat! I love how the IDE looks like a spellbook.

There is also an associated paper, On the Nature of Fires and How to Spark
Them
When You’re Not There [1].

[1]
http://db.grinnell.edu/sigcse/sigcse2013/Program/viewAcceptedProposal.pdf?sessionType=papersessionNumber=252

I've occasionally contemplated developing such a game: program the behavior
of your team of goblins (who may have different strengths, capabilities,
and some behavioral habits/quirks) to get through a series of puzzles, with
players building/managing a library as they go. My interest in PLs was
sparked from MOOs (in particular, the question of how to decentralize
them).

Today, I'm more interested in approaches that can be generalized beyond
gaming. But I might get back to game development one day.

CodeHero is another game that combines coding with gameplay, but it seems
to a much less integrated degree than CodeSpells [2][3].

[2] http://primerlabs.com/codehero0
[3]
http://www.howtogeek.com/106431/codehero-teaches-programming-via-first-person-shooter-game/

Regards,

Dave


On Fri, Apr 12, 2013 at 9:30 AM, John Carlson yottz...@gmail.com wrote:

 http://www.jacobsschool.ucsd.edu/news/news_releases/release.sfe?id=1347

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Layering, Thinking and Computing

2013-04-12 Thread John Pratt

I feel like these discussions are tangential to the larger issues
brought up on FONC and just serve to indulge personal interest
discussions.  Aren't any of us interested in revolution?  It won't
start with digging into existing stuff like this.


On Apr 12, 2013, at 11:13 AM, Tristan Slominski wrote:

 oops, I forgot to edit this part:
 
  and my criticism of Lightweight Time Warps had to do with that it is a 
 protocol for message-driven simulation, which also needs an implementor that 
 touches reality
 
 It should have read:
 
 and my criticism of Lightweight Time Warps had to do with that it is a 
 protocol for message-driven simulation and (I think) actors are minimal 
 implementors of message-driven protocols
 
 
 On Fri, Apr 12, 2013 at 1:07 PM, Tristan Slominski 
 tristan.slomin...@gmail.com wrote:
 I had this long response drafted criticizing Bloom/CALM and Lightweight Time 
 Warps, when I realized that we are probably again not aligned as to which 
 meta level we're discussing. 
 
 (my main criticism of Bloom/CALM was assumption of timesteps, which is an 
 indicator of a meta-framework relying on something else to implement it 
 within reality; and my criticism of Lightweight Time Warps had to do with 
 that it is a protocol for message-driven simulation, which also needs an 
 implementor that touches reality; synchronous reactive programming has the 
 word synchronous in it) - hence my assertion that this is more meta level 
 than actors.
 
 I think you and I personally care about different things. I want a 
 computational model that is as close to how the Universe works as possible, 
 with a minimalistic set of constructs from which everything else can be 
 built. Hence my references to cellular automata and Wolfram's hobby of 
 searching for the Universe. Anything which starts as synchronous cannot be 
 minimalistic because that's not what we observe in the world, our world is 
 asynchronous, and if we disagree on this axiom, then so much for that :D
 
 But actors model fails with regards to extensibility(*) and reasoning
 
 Those are concerns of an imperator, are they not? Again, I'm not saying 
 you're wrong, I'm trying to highlight that our goals differ.
 
 But, without invasive code changes or some other form of cheating (e.g. 
 global reflection) it can be difficult to obtain the name of an actor that is 
 part of an actor configuration. 
 
 Again, this is ignorance of the power of Object Capability and the Actor 
 Model itself. The above is forbidden in the actor model unless the 
 configuration explicitly sends you an address in the message. My earlier 
 comment about Akka refers to this same mistake.
 
 However, you do bring up interesting meta-level reasoning complaints against 
 the actor model. I'm not trying to dismiss them away or anything. As I 
 mentioned before, that list is a good guide as to what meta-level programmers 
 care about when writing programs. It would be great if actors could make it 
 easier... and I'm probably starting to get lost here between the meta-levels 
 again :/
 
 Which brings me to a question. Am I the only one that loses track of which 
 meta-level I'm reasoning or is this a common occurrence  Bringing it back to 
 the topic somewhat, how do people handle reasoning about all the different 
 layers (meta-levels) when thinking about computing? 
 
 
 On Wed, Apr 10, 2013 at 12:21 PM, David Barbour dmbarb...@gmail.com wrote:
 On Wed, Apr 10, 2013 at 5:35 AM, Tristan Slominski 
 tristan.slomin...@gmail.com wrote:
 I think it's more of a pessimism about other models. [..] My non-pessimism 
 about actors is linked to Wolfram's cellular automata turing machine [..] 
 overwhelming consideration across all those hints is unbounded scalability. 
 
 I'm confused. Why would you be pessimistic about non-actor models when your 
 argument is essentially that very simple, deterministic, non-actor models can 
 be both Turing complete and address unbounded scalability? 
 
 Hmm. Perhaps what you're really arguing is pessimistic about procedural - 
 which today is the mainstream paradigm of choice. The imperial nature of 
 procedures makes it difficult to compose or integrate them in any extensional 
 or collaborative manner - imperative works best when there is exactly one 
 imperator (emperor). I can agree with that pessimism.
 
 In practice, the limits of scalability are very often limits of reasoning 
 (too hard to reason about the interactions, safety, security, consistency, 
 progress, process control, partial failure) or limits of extensibility (to 
 inject or integrate new behaviors with existing systems requires invasive 
 changes that are inconvenient or unauthorized). If either of those limits 
 exist, scaling will stall. E.g. pure functional programming fails to scale 
 for extensibility reasons, even though it admits a lot of natural parallelism.
 
 Of course, scalable performance is sometimes the issue, especially in models 
 that have global 

Re: [fonc] CodeSpells. Learn how to program Java by writing spells for a 3D environment.

2013-04-12 Thread Josh Grams
On 2013-04-12 11:11AM, David Barbour wrote:
I've occasionally contemplated developing such a game: program the behavior
of your team of goblins (who may have different strengths, capabilities,
and some behavioral habits/quirks) to get through a series of puzzles, with
players building/managing a library as they go.

Forth Warrior? :)

https://github.com/JohnEarnest/Mako/tree/master/games/Warrior2

--Josh
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] CodeSpells. Learn how to program Java by writing spells for a 3D environment.

2013-04-12 Thread John Pratt
Fine, but what does that have to do with
setting the fundamentals of new computing?

Is this just a mailing list for computer scientist to jerk off?


On Apr 12, 2013, at 1:00 PM, Josh Grams wrote:

 On 2013-04-12 11:11AM, David Barbour wrote:
 I've occasionally contemplated developing such a game: program the behavior
 of your team of goblins (who may have different strengths, capabilities,
 and some behavioral habits/quirks) to get through a series of puzzles, with
 players building/managing a library as they go.
 
 Forth Warrior? :)
 
 https://github.com/JohnEarnest/Mako/tree/master/games/Warrior2
 
 --Josh
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] FONC: The Fanboy Mailing List With No Productivity

2013-04-12 Thread John Pratt

This is just like open source software.  A bunch of feelgood people
hangin' out and messin' around, not ever doing anything, but pretending
they are getting somewhere by indulging themselves.  No one on here
is probably working on the Fundamentals of New Computing.

This is just a trash bin for people who don't want to do anything.
The real work is probably on noise-free mailing list.  This is the
fanboy list for Alan Kay.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] CodeSpells. Learn how to program Java by writing spells for a 3D environment.

2013-04-12 Thread shaun gilchrist
One of the fundamentals we are all still grasping at is how to teach
programming. These are links to people attempting to contribute something
meaningful in that direction rather than posting derisive comments and
blatant cult related wing nuttery which, in fact, have nothing to do with
computing. Good day sir!


On Fri, Apr 12, 2013 at 2:12 PM, John Pratt jpra...@gmail.com wrote:

 Fine, but what does that have to do with
 setting the fundamentals of new computing?

 Is this just a mailing list for computer scientist to jerk off?


 On Apr 12, 2013, at 1:00 PM, Josh Grams wrote:

  On 2013-04-12 11:11AM, David Barbour wrote:
  I've occasionally contemplated developing such a game: program the
 behavior
  of your team of goblins (who may have different strengths, capabilities,
  and some behavioral habits/quirks) to get through a series of puzzles,
 with
  players building/managing a library as they go.
 
  Forth Warrior? :)
 
  https://github.com/JohnEarnest/Mako/tree/master/games/Warrior2
 
  --Josh
  ___
  fonc mailing list
  fonc@vpri.org
  http://vpri.org/mailman/listinfo/fonc

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Layering, Thinking and Computing

2013-04-12 Thread David Barbour
On Fri, Apr 12, 2013 at 11:07 AM, Tristan Slominski 
tristan.slomin...@gmail.com wrote:

 my main criticism of Bloom/CALM was assumption of timesteps, which is an
 indicator of a meta-framework relying on something else to implement it
 within reality


At the moment, we don't know whether or not reality has discrete
timesteps [1]. I would not dismiss a model as being distinguishable from
'reality' on that basis. A meta-framework is necessary because we're
implementing Bloom/CALM not directly in reality, but rather upon a silicone
chip that enforces sequential computation even where it is not most
appropriate.

[1] http://en.wikipedia.org/wiki/Chronon


 ; and my criticism of Lightweight Time Warps had to do with that it is a
 protocol for message-driven simulation and (I think) actors are minimal
 implementors of message-driven protocols [from edit]


This criticism isn't relevant for the same reason that your but you can
implement lambda calculus in actors arguments weren't relevant. The
properties of the abstraction must be considered separately from the
properties of the model implementing it.

It is true that you can implement a time warp system with actors. It is
also the case that you can implement actors in a time warp system. Either
direction will involve a framework or global transform.



 I think you and I personally care about different things. I want a
 computational model that is as close to how the Universe works as possible,


You want more than close to how the Universe works.

For example, you also want symbiotic autopoietic and allopoietic systems
and antifragility, and possibly even object capability security. Do you
deny this? But you should consider whether your wants might be in conflict
with one another. And, if so, you should weigh and consider what you want
more.

I believe they are in conflict with one another. Reality has a lot of
properties that make it a difficult programming model. There are reasons we
write software instead of hardware. There is a related discussion [fonc]
Physics and Types in 2011 August. There, I say:


Physics has a very large influence on a lot of language designs and
programming models, especially those oriented around concurrency and
communication. We cannot fight physics, because physics will ruthlessly
violate our abstractions and render our programming models unscalable, or
non-performant, or inconsistent (pick two).

But we want programming to be easier than physics. We need composition
(like Lego bricks), integration (without 'impedance mismatch'), open
extension, and abstraction (IMO, in roughly that order). So the trick is to
isolate behaviors that we can utilize and feasibly implement at arbitrary
scales (small and large), yet that support our other desiderata.


As I said earlier, the limits on growth, and thus on scalability, are often
limits of reasoning or extensibility. But it is not impossible to develop
programming models that align well with physical constraints but that do
not sacrifice reasoning and extensibility.

Based on our discussions so far, you seem to believe that if you develop a
model very near our universe, the rest will follow - that actor systems
will shine. But I am not aware of any sound argument that will take you
from this model works just like our universe to this model is usable by
collaborating humans.



a minimalistic set of constructs from which everything else can be built


A minima is just a model from which you can't take anything away. There are
lots of Turing complete minima. Also, there is no guarantee that our
universe is minimalistic.



Anything which starts as synchronous cannot be minimalistic because
 that's not what we observe in the world, our world is asynchronous, and if
 we disagree on this axiom, then so much for that :D


I believe our world is 'synchronous' in the sense of things happening at
the same time in different places. I believe our world is 'synchronous' in
the sense that two photons pointed in the same direction will (barring
interference) move the same distance over the same period. If you send
those photons at the same time, they will arrive at the same time.

It seems, at the physical layer, that 'asynchronous' only happens when you
have some sort of intermediate storage or non-homogeneous delay. And even
in those cases, if I were to model the storage, transport, and retrieval
processes down to the physical minutiae, every micro process would be
end-to-end synchronous - or close enough to reason about and model them
that way. (I'm not sure about the quantum layers.)

Asynchronous communication can be a useful *abstraction* because it allows
us to hide some of the physical minutiae and heterogeneous computations.
But asynchrony isn't the only choice in that role. E.g. if we model static
latencies, those can also hide flexible processing, while perhaps being
easier to reason about for real-time systems.



 But, without invasive code changes or some other form of cheating (e.g.
 

Re: [fonc] CodeSpells. Learn how to program Java by writing spells for a 3D environment.

2013-04-12 Thread Igor Stasenko
Colobot
http://en.wikipedia.org/wiki/Colobot

-- 
Best regards,
Igor Stasenko.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Layering, Thinking and Computing

2013-04-12 Thread David Barbour
Existing stuff from outside of mainstream is exactly what you should be
digging into.
On Apr 12, 2013 12:08 PM, John Pratt jpra...@gmail.com wrote:


 I feel like these discussions are tangential to the larger issues
 brought up on FONC and just serve to indulge personal interest
 discussions.  Aren't any of us interested in revolution?  It won't
 start with digging into existing stuff like this.


 On Apr 12, 2013, at 11:13 AM, Tristan Slominski wrote:

 oops, I forgot to edit this part:

  and my criticism of Lightweight Time Warps had to do with that it is a
 protocol for message-driven simulation, which also needs an implementor
 that touches reality


 It should have read:

 and my criticism of Lightweight Time Warps had to do with that it is a
 protocol for message-driven simulation and (I think) actors are minimal
 implementors of message-driven protocols



 On Fri, Apr 12, 2013 at 1:07 PM, Tristan Slominski 
 tristan.slomin...@gmail.com wrote:

 I had this long response drafted criticizing Bloom/CALM and Lightweight
 Time Warps, when I realized that we are probably again not aligned as to
 which meta level we're discussing.

 (my main criticism of Bloom/CALM was assumption of timesteps, which is an
 indicator of a meta-framework relying on something else to implement it
 within reality; and my criticism of Lightweight Time Warps had to do with
 that it is a protocol for message-driven simulation, which also needs an
 implementor that touches reality; synchronous reactive programming has
 the word synchronous in it) - hence my assertion that this is more meta
 level than actors.

 I think you and I personally care about different things. I want a
 computational model that is as close to how the Universe works as possible,
 with a minimalistic set of constructs from which everything else can be
 built. Hence my references to cellular automata and Wolfram's hobby of
 searching for the Universe. Anything which starts as synchronous cannot
 be minimalistic because that's not what we observe in the world, our world
 is asynchronous, and if we disagree on this axiom, then so much for that :D

 But actors model fails with regards to extensibility(*) and reasoning


 Those are concerns of an imperator, are they not? Again, I'm not saying
 you're wrong, I'm trying to highlight that our goals differ.

 But, without invasive code changes or some other form of cheating (e.g.
 global reflection) it can be difficult to obtain the name of an actor that
 is part of an actor configuration.


 Again, this is ignorance of the power of Object Capability and the Actor
 Model itself. The above is forbidden in the actor model unless the
 configuration explicitly sends you an address in the message. My earlier
 comment about Akka refers to this same mistake.

 However, you do bring up interesting meta-level reasoning complaints
 against the actor model. I'm not trying to dismiss them away or anything.
 As I mentioned before, that list is a good guide as to what meta-level
 programmers care about when writing programs. It would be great if actors
 could make it easier... and I'm probably starting to get lost here between
 the meta-levels again :/

 Which brings me to a question. Am I the only one that loses track of
 which meta-level I'm reasoning or is this a common occurrence  Bringing it
 back to the topic somewhat, how do people handle reasoning about all the
 different layers (meta-levels) when thinking about computing?


 On Wed, Apr 10, 2013 at 12:21 PM, David Barbour dmbarb...@gmail.comwrote:

 On Wed, Apr 10, 2013 at 5:35 AM, Tristan Slominski 
 tristan.slomin...@gmail.com wrote:

 I think it's more of a pessimism about other models. [..] My
 non-pessimism about actors is linked to Wolfram's cellular automata turing
 machine [..] overwhelming consideration across all those hints is
 unbounded scalability.


 I'm confused. Why would you be pessimistic about non-actor models when
 your argument is essentially that very simple, deterministic, non-actor
 models can be both Turing complete and address unbounded scalability?

 Hmm. Perhaps what you're really arguing is pessimistic about
 procedural - which today is the mainstream paradigm of choice. The
 imperial nature of procedures makes it difficult to compose or integrate
 them in any extensional or collaborative manner - imperative works best
 when there is exactly one imperator (emperor). I can agree with that
 pessimism.

 In practice, the limits of scalability are very often limits of
 reasoning (too hard to reason about the interactions, safety, security,
 consistency, progress, process control, partial failure) or limits of
 extensibility (to inject or integrate new behaviors with existing systems
 requires invasive changes that are inconvenient or unauthorized). If either
 of those limits exist, scaling will stall. E.g. pure functional programming
 fails to scale for extensibility reasons, even though it admits a lot of
 natural parallelism.

 Of course, 

Re: [fonc] FONC: The Fanboy Mailing List With No Productivity

2013-04-12 Thread Steve Taylor

John Pratt wrote:


This is the fanboy list for Alan Kay.


Well, in a certain sense it is. I'm here because I'm interested in what 
VPRI are doing, and in what like minded people are interested in.


It suits me just fine apart from the occasional tantrums some people have.



Steve
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] FONC: The Fanboy Mailing List With No Productivity

2013-04-12 Thread Igor Stasenko
On 12 April 2013 22:18, John Pratt jpra...@gmail.com wrote:

 This is just like open source software.  A bunch of feelgood people
 hangin' out and messin' around, not ever doing anything, but pretending
 they are getting somewhere by indulging themselves.  No one on here
 is probably working on the Fundamentals of New Computing.


I know that i going against the rule to not feed the troll, but sorry
cannot resist.
Replied using Firefox open-source software.

 This is just a trash bin for people who don't want to do anything.
 The real work is probably on noise-free mailing list.  This is the
 fanboy list for Alan Kay.
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc



-- 
Best regards,
Igor Stasenko.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] Call for GSoC students on Scala ACP related projects

2013-04-12 Thread Andre van Delft
The Scala team at EPFL Lausanne is this year again a mentoring organization for 
the Google Summer of Code, a global program that offers students stipends to 
write code for open source projects. Following a presentation I gave there a 
month ago, the Scala team has included two projects for GSoC related to my 
language extension named SubScript.  More information is here at the Scala site 
and below.

This month students can apply. Interested and qualified? You may contact EPFL, 
or me as andre dot vandelft at gmail dot com.

SubScript

SubScript is a way to extend common programming languages aimed to ease event 
handling and concurrency. Typical application areas are GUI controllers, text 
processing applications and discrete event simulations. SubScript is based on a 
mathematical concurrency theory named Algebra of Communicating Processes (ACP).

You can regard ACP as an extension to Boolean algebra with ‘things that can 
happen’. These items are glued together with operations such alternative, 
sequential and parallel compositions. This way ACP combines the essence of 
grammar specification languages and notions of parallelism.

Adding ACP to a common programming language yields a lightweight alternative 
for threading concurrency. It also brings the 50 year old but still magic 
expressiveness of languages for parser generators and compiler compilers, so 
that SubScript suits language processing. The nondeterministic style combined 
with concurrency support happens to be very useful for programming GUI 
controllers. Surprisingly, ACP with a few extras even enables data flow style 
programming, like you have with pipes in Unix shell language.

Currently a SubScript extension to Scala is available, see 
http://subscript-lang.org. This comes with a branch of the Scala compiler, a 
run-time library, support for the Scala-Swing reactive framework and example 
programs. The C part of ACP is not yet supported.

Investigate SubScript on top of JavaScript

SubScript might as well extend other languages next to Scala. An interesting 
starter would be JavaScript. The good thing is that as from April 2013 (?) 
Scala translates into JavaScript. Therefore a single code base of the SubScript 
VM, which is written in Scala, may also work for JavaScript.
The project would involve some of the following tasks:
develop use cases, both for client-side and server-side applications
create a translator for SubScript into JavaScript
extend an existing JavaScript interpreter to understand SubScript
define a strategy to send over SubScript in HTML pagesand have it translated
provide a translator for the SubScript VM source code into JavaScript
JavaScript does not support explicit multithreading; develop an alternative
Enhance Akka using SubScript

Akka is the Scala actor implementation, very useful for distributed functions. 
Typically an actor operates a state machine, which is programmed using state 
variables. This is relatively inconvenient to program and read. SubScript may 
provide a better alternative for programming actor internals. This project 
would involve:
develop typical actors in two versions: just Scala and SubScript
compare these versions in terms of clearness and conciseness
measure the performance of these versions
make a tutorial
More information on SubScriptActors is available at 
http://subscript-lang.org/subscript-actors/.


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] CodeSpells. Learn how to program Java by writing spells for a 3D environment.

2013-04-12 Thread John Carlson
Btw, is this the same Griswold of Snobol and Icon (programming languages)
fame?
On Apr 12, 2013 3:20 PM, shaun gilchrist shaunxc...@gmail.com wrote:

 One of the fundamentals we are all still grasping at is how to teach
 programming. These are links to people attempting to contribute something
 meaningful in that direction rather than posting derisive comments and
 blatant cult related wing nuttery which, in fact, have nothing to do with
 computing. Good day sir!


 On Fri, Apr 12, 2013 at 2:12 PM, John Pratt jpra...@gmail.com wrote:

 Fine, but what does that have to do with
 setting the fundamentals of new computing?

 Is this just a mailing list for computer scientist to jerk off?


 On Apr 12, 2013, at 1:00 PM, Josh Grams wrote:

  On 2013-04-12 11:11AM, David Barbour wrote:
  I've occasionally contemplated developing such a game: program the
 behavior
  of your team of goblins (who may have different strengths,
 capabilities,
  and some behavioral habits/quirks) to get through a series of puzzles,
 with
  players building/managing a library as they go.
 
  Forth Warrior? :)
 
  https://github.com/JohnEarnest/Mako/tree/master/games/Warrior2
 
  --Josh
  ___
  fonc mailing list
  fonc@vpri.org
  http://vpri.org/mailman/listinfo/fonc

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc



 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] When natural language fails!

2013-04-12 Thread David Barbour
Elephant has nothing to do with voice, nor even with natural language, but
rather with a new approach to control (based on 'speech acts' -
requests, commitments, promises) and state (based on recording and
reviewing speech acts).  But it's still a good read.


On Fri, Apr 12, 2013 at 10:05 PM, Casey Ransberger casey.obrie...@gmail.com
 wrote:

 I had never heard of Elephant. Of course anything John McCarthy is worth a
 look, and this is relevant to my interests:) Also: thanks for pointing me
 at all the papers folks!


 On Tue, Apr 9, 2013 at 1:25 PM, Brendan Baldwin bren...@usergenic.comwrote:

 Wasn't John McCarthy's Elephant programming language based on the
 metaphor of conversation?  Perhaps voice based programming interactions are
 addressed there?
 On Apr 9, 2013 8:46 AM, David Barbour dmbarb...@gmail.com wrote:


 On Tue, Apr 9, 2013 at 1:48 AM, Casey Ransberger 
 casey.obrie...@gmail.com wrote:


 The computer is going to keep getting smaller. How do you program a
 phone? It would be nice to be able to just talk to it, but it needs to be
 able -- in a programming context -- to eliminate ambiguity by asking me
 questions about what I meant. Or *something.*


 Well, once computers get small enough that we can easily integrate them
 with our senses and gestures, it will become easier to program again.

 Phones are an especially difficult target (big hands and fingers, small
 screens, poor tactile feedback, noisy environments). But something like
 Project Glass or AR glasses could project information onto different
 surfaces - screens the size of walls, effectively - or perhaps the size of
 our moleskin notebooks [1]. Something like myo [2] would support pointer
 and gesture control without much interfering with our use of hands.

 That said, I think supporting ambiguity and resolving it will be one of
 the upcoming major revolutions in both HCI and software design. It has a
 rather deep impact on software design [3].

 (Your Siri converstation had me laughing out loud. Appreciated.)

 [1]
 http://awelonblue.wordpress.com/2012/10/26/ubiquitous-programming-with-pen-and-paper/
 [2] https://getmyo.com/
 [3]
 http://awelonblue.wordpress.com/2012/05/20/abandoning-commitment-in-hci/


 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




 --
 Casey Ransberger

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc