CommunityNews
Developing a go bot embedding ichiban Prolog
Developing a go bot embedding ichiban Prolog.
Ichiban Prolog is a #golang implementation of an ISO compatible Prolog. To learn how to embed it, I decided to add Prolog support to Hellabot, a simple irc bot.
Hellabot design requires to program its triggers using a two step process as described in the code below:
type Trigger struct { // Returns true if this trigger applies to the passed in message Condition func(*Bot, *Message) bool // The action to perform if Condition is true // return true if the message was ‘consumed’ Action func(*Bot, *Message) bool }
Read in full here:
This thread was posted by one of our members via one of our news source trackers.
Popular General Dev topics
A career ending mistake — Bitfield Consulting.
As software engineers, we’re constantly making detailed, elaborate plans for computers to...
New
Flipper Zero is a portable multi-tool for pentesters and geeks in a toy-like body. It loves hacking digital stuff, such as radio protocol...
New
8 reasons to ditch Chrome and switch to Firefox.
Chrome may dominate, but Firefox is a known name among browsers for a reason. Whether y...
New
Docker on MacOS is slow and how to fix it.
Thanks to the DALL·E 2, we finally have a very nice graphic representation of the feelings of...
New
Apple’s Tim Cook to take 50% pay hit after shareholder feedback.
‘Target compensation’ for CEO down from $99.4m in 2022 to an expected $...
New
Why Python keeps growing, explained | The GitHub Blog.
A deep dive into why more people are using Python than ever, its key use cases, a...
New
Will Swifties’ war on AI fakes spark a deepfake porn reckoning?
New
Dark mode isn’t as good for your eyes as you believe.
The shadowy display mode has leagues of fans claiming it helps reduce eye strain, ...
New
On the benefits of learning in public.
Learning in public helps me grow as an engineer and seems to benefit others too. Here’s why I sho...
New
Most of what modern software engineers do involves APIs: public interfaces for communicating with a program, like this one from Twilio. I...
New
Other popular topics
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
New
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
There’s a whole world of custom keycaps out there that I didn’t know existed!
Check out all of our Keycaps threads here:
https://forum....
New
The V Programming Language
Simple language for building maintainable programs
V is already mentioned couple of times in the forum, but I...
New
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
Author Spotlight:
Peter Ullrich
@PJUllrich
Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
Big O Notation can make your code faster by orders of magnitude. Get the hands-on info you need to master data structures and algorithms ...
New
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices.
Neil Smyth
MySQL...
New
Categories:
Sub Categories:
- All
- In The News
- Dev Chat (203)
- Questions (35)
- Resources (119)
- Blogs/Talks (27)
- Jobs (3)
- Events (15)
- Code Editors (59)
- Hardware (58)
- Reviews (5)
- Sales (16)
- Design & UX (5)
- Marketing & SEO (2)
- Industry & Culture (14)
- Ethics & Privacy (19)
- Business (4)
- Learning Methods (6)
- Content Creators (7)
- DevOps & Hosting (9)
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /svelte
- /onivim
- /typescript
- /kotlin
- /crystal
- /c-plus-plus
- /tailwind
- /react
- /gleam
- /ocaml
- /flutter
- /elm
- /vscode
- /ash
- /html
- /opensuse
- /zig
- /centos
- /deepseek
- /php
- /scala
- /react-native
- /lisp
- /textmate
- /sublime-text
- /nixos
- /debian
- /agda
- /django
- /kubuntu
- /deno
- /arch-linux
- /nodejs
- /ubuntu
- /revery
- /manjaro
- /spring
- /diversity
- /lua
- /julia
- /markdown
- /slackware








