Prolog Screencast

23 views
Skip to first unread message

Jay McCarthy

unread,
Dec 6, 2012, 10:47:13 PM12/6/12
to BYU CS 330 Fall 2012
Here's the screencast and source:



The screen cast is about 120 MBs. I suggest downloading it before starting it, rather than watching from your browser. I hope it is big enough to read and if it isn't, you should keep the source open and try to scroll with me.

I have another version that is 2.2GBs. Maybe I could make something in between those two? Let me know.

Also, I'll be removing the file from the internets in a week or so. So get it while it's hot.

Jay

--
Jay McCarthy <j...@cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93

Jay McCarthy

unread,
Dec 6, 2012, 11:04:08 PM12/6/12
to BYU CS 330 Fall 2012
Also, try this example in my program and yours:

(define (=in Gamma Program Type)
  (=or (=var (Gamma_p)
             (=and (== Gamma (list (list Program ': Type) Gamma_p))))
       (=var (Gamma_p OtherProgram OtherType)
             (=and (== Gamma (list (list OtherProgram ': OtherType) Gamma_p))
                   (=in Gamma_p Program Type)))))

(define (=typeof Gamma Program Type)
  (=or (=and (== Program 'numConst)
             (== Type 'num))
       (=and (== Program 'boolConst)
             (== Type 'bool))
       (=var (Cond True False)
             (=and (== Program (list 'if Cond True False))
                   (=typeof Gamma Cond 'bool)
                   (=typeof Gamma True Type)
                   (=typeof Gamma False Type)))
       (=in Gamma Program Type)
       (=var (V Body Dom Rng)
             (=and (== Program (list 'lambda (list V) Body))
                   (== Type (list Dom '-> Rng))
                   (=typeof (list (list V ': Dom) Gamma) Body Rng)))
       (=var (Fun Arg Dom Rng)
             (=and (== Program (list Fun Arg))
                   (== Type Rng)
                   (=typeof Gamma Fun (list Dom '-> Rng))
                   (=typeof Gamma Arg Dom)))))

(=find-some 5 (Program Type)
            (=typeof empty Program Type))

Brian Kingery

unread,
Dec 7, 2012, 1:55:33 PM12/7/12
to BYU CS 330 Fall 2012
Your joke about 3/4 of the way in would have been much more funny had you not already told it in class.  :P  Nice try though!


--
 
 



--
Brian Kingery
BYU - OIT Core Services
Desk: 801-422-5811
Location: ITB 2226L

Jay McCarthy

unread,
Dec 7, 2012, 2:10:35 PM12/7/12
to BYU CS 330 Fall 2012
Ya, I thought I had. I was on the spot. I should wrote some material. I thought of some good stuff afterward, for example I wanted to end by saying "That's all for Prolog; Gold Subscribers, stayed tuned for the Final preview."

Jay


--
 
 

Brian Kingery

unread,
Dec 7, 2012, 2:27:00 PM12/7/12
to BYU CS 330 Fall 2012
That being said, the zen monk joke was a fresh one.
Also, speaking of ending the video, I'm curious how long you kept talking to yourself after you hit stop.

Jay McCarthy

unread,
Dec 7, 2012, 2:30:16 PM12/7/12
to BYU CS 330 Fall 2012
Heh :)

My wife came in immediately from the other room and said, "Are you done? Can I use my computer?" She said she wanted to watch the video though. She's always been curious of what my classes are like.

Did you find the video useful?

Jay

Brian Kingery

unread,
Dec 7, 2012, 2:40:45 PM12/7/12
to BYU CS 330 Fall 2012
Yeah it was good.  There were a couple things that I missed in my implementation, so it was good to see how you tested for those cases.
Reply all
Reply to author
Forward
0 new messages