Uses 911K of libraries. Compilation Failed (10421L/56K).
!7 cmodule Spike > DynPrintLog { transient S program = [[ import bool import or open theory rules { on $x say $out & input matches $x => say $out on $x or $y say $out & ((input matches $x) | (input matches $y)) => say $out } theory test1 { on hello say yo input hello expect (say yo) } ]]; start-thread { PhilosophyBot1 bot = makeBot(input); bot.addFact("on hello say yo"); bot.run(); assertTrue(bot.hasFact("say yo")); } PhilosophyBot1 makeBot() { PhilosophyBot1 bot = new(program); new Var<S> input; //bot.autoOpenTheories(); bot.onFactDo("input $x", map -> { input.set($x(map)); true; }); bot.addNativePredicate("input matches $x", map -> match($x(map), input!)); ret bot; } }
download show line numbers debug dex old transpilations
Travelled to 7 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt, wpzdwgqboxjy
No comments. add comment
| Snippet ID: | #1025761 |
| Snippet name: | NL Rules in Philosophy Bot Spike [dev.] |
| Eternal ID of this version: | #1025761/3 |
| Text MD5: | ecda07ecfc39dbb6c49c53c8d1fc079f |
| Transpilation MD5: | 0f1edac5236e691ddbc7976d9604299b |
| Author: | stefan |
| Category: | javax / a.i. |
| Type: | JavaX source code (Dynamic Module) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2019-10-18 21:39:20 |
| Source code size: | 866 bytes / 39 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 508 / 2004 |
| Version history: | 2 change(s) |
| Referenced in: | -