This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-03-17
Channels
By the way, I found this old documentation on Electric Missionary interop helpful: https://github.com/hyperfiddle/electric/blob/b9bcfab1c81ca1815196af7b39d6f460d6d1cdc5/src-docs/user/electric/electric_missionary_interop.clj
Friends, ladies, gentlemen, wookies (Chewbaca clearly Clojurista), and the variety of code wizards/witches/ninjas, Have created a GPT for Electric Clojure: https://chat.openai.com/g/g-yRbCuc8cz-electric-clojure-hypermind. Membank is seeded with examples and the init prompt reminds it of the most suitable approach ("stop reaching for reagent, pls, it's e/defn thx"). https://chat.openai.com/g/g-yRbCuc8cz-electric-clojure-hypermind Let me know where it sucks so I can enhance it. Nurturing my psychic bond with the GPT, so be nice 😅
This looks great, thanks for creating it! Something I’ve been missing with electric is the ease of the “paste HTML as hiccup” when I work with reagent in Cursive. Looks like with your assistant I can paste HTML and get electric dom code ⚡
@UA9399DFZ that sounds helpful, i think it will do that much. It still does not comprehend electric 100% because it wants to "subscribe to watch" things and "notify all peers" when swaps happen, so it doesn't really grok it quite yet, need to give it some more info to give it the electripiphany
Adding the files that give ChatGPT the insight into the macros (e/def, e/defn, and showing it and telling it about the masking of (let...))) Has proven to be very instrumental in getting the model to rely on correct embeddings (much like a pianist stayn in key) Imperfectly perfect, I'm sniffing out shortcomings by asking it to generate novel examples. "Build a multiplayer web app" is a great way to see if it comprehends what's what.
The intro prompt can only be 8000 chars and you can only add 20 files to the membank. But I'm thinking maybe I can cram all the examples into one big file
I find this less useful than my own prompting against base ChatGPT.
Not to dismiss the work going into this. I also want an Electric savvy GPT. I'm just reporting my experience.
@U05095F2K I imagine examples might help @U055PQH9R4M get the most out of your experience report 🙂
I am ceaselessly tweaking it at the moment, I have found that giving it straight-up macro definitions can help. How are you prompting your GPT4, @U05095F2K?
I freestyle the prompts most of the time. But it generally starts by generating a bunch of meaning dense context and encouraging the encoding of meaning and context into emojis when it feels it is appropriate to generate better responses. Negating patterns of expression that give less intelligent responses eg lists, introductions and conclusions. Enhancing expressions that are more intelligent.
@U05095F2K Not gonna lie, I comprehended maybe 31% of what you said, but it sounds like you selectively lambast your GPT into excellence. what have you tried with this one in this thread and what results would you want instead of what you got?
Have made some enhancements, let me know if it is still insane. Sometimes it doesn't believe Electric is a real fullstack framework lmao. Not sure what is the correct cocktail of proof
@U6D1FU8F2 was just thinking to schedule a call with you ) and also, do you recommend Claude Pro
@U6D1FU8F2 plz check out what's been cooking ^, i think you will be pleasantly surprised if you pick one of the 3 default prompts)
Hi @U055PQH9R4M, is hyperfiddle.electric-svg
ns added in the mem bank? I was trying to convert html svg to electric svg, the returned code used dom/svg
when asked it said there is no hyperfiddle.electric-svg
ns, apart from this everything was correct.
Also are we following any naming conventions? It seems to be PascalCase
I was expecting kebab-case
by default it uses (e/atom ..)
to create a new atom
@U049Q2LP68M thanks I had the svg example in there for a while but removed it, will backplace. + kebab-case, heard. + yeah it thinks e/atom is a thing. Ok thanks for those ... applying fixes
@U049Q2LP68M check out https://chat.openai.com/share/475f09c5-1ebe-494a-9e61-c6b47d5739c6 "Let's make multiplayer game using dom/svg." Looking better?
@U055PQH9R4M In your chat, the gpt used dom/circle
instead of svg/circle
, I thought this could be fixed if I only said svg instead of dom/svg so I tried the prompt Let's make multiplayer game using svg. but I still got dom/circle
. Adding the instruction for svg components only use svg namespace
fixed the issue and it correctly used svg/..
In the following chat it got svg/circle
right but had other bugs
https://chat.openai.com/share/6bc73a93-8789-4e06-9026-a38d04145ff3
• (dom/button (dom/props {:on-click (e/fn [] ..
instead of using (dom/on! ...
• dom/on
vs dom/on!
Oh is the canonical actually dom/on!
? 😅
yeah the GPT loves to do :on-click, would be good to coax it out of this "habit"
thanks for adding svg components only use svg namespace
Major update to the initialization prompt this morning. Have fun testing out le hypermind
@U055PQH9R4M I played around with creating a GPT today. But focused on Missionary. https://clojurians.slack.com/archives/CL85MBPEF/p1717341546748089
Also I have not tried this one. I could play it a bit. I find it way better still to create mega prompts self created by them. The instruction character count limit is very ... limiting.